我计划编写一个程序,它将一些参数作为输入并生成自己的片段着色器字符串,然后将其编译、链接并用作片段着色器(它只会在程序开始时完成一次)。
我不是计算机图形方面的专家,所以我不知道这是否是标准做法,但我绝对认为它有一些有趣的应用程序的潜力——不一定是图形应用程序,但可能是计算应用程序。
我的问题是 OpenGL 中着色器的代码大小限制是多少,即 OpenGL 可以为图形处理器上的程序合理分配多少内存?
最佳答案
没有代码大小限制。好的,有,但是:
长 GLSL 着色器可能会编译,而短着色器则不能。为什么?因为编译器可能已经能够优化长着色器的大小,而短着色器扩展到大量操作码。简而言之,GLSL 级别太高,无法有效量化此类限制。
在任何情况下,鉴于 GL 2.x 级硬件的限制,您可能不会遇到任何长度限制,除非您尝试这样做或正在执行 GPGPU 工作。
关于opengl - OpenGL 2+ 中顶点或片段着色器的代码限制大小是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14605775/