Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我计划编写一个程序,它将一些参数作为输入,并生成自己的片段着色器字符串,然后将其编译、链接并用作片段着色器(它只会在程序开始时完成一次)。我不是计算机图形方面的专家,所以我不知道这是否是标准做法,但我绝对认为它有可能用于一些有趣的应用程序 - 不一定是图形应用程序,但可能是计算应用程序。
我的问题是 OpenGL 中着色器的代码大小限制是多少,即 OpenGL 可以为图形处理器上的程序合理分配多少内存?
没有代码大小限制。好的,有,但是:
一个长的 GLSL 着色器可能编译,而一个短的着色器不能。为什么?因为编译器可能已经能够优化长着色器的大小,而短着色器扩展到大量的操作码。简而言之,GLSL 级别太高,无法有效量化这些限制。
在任何情况下,鉴于 GL 2.x 级硬件的限制,除非您尝试这样做或正在进行 GPGPU 工作,否则您可能不会遇到任何长度限制。