chb*_*er0 6 c++ 3d glsl opengl-3
我正在尝试将 GL 调用包装在外部函数和类中。因此,这提出了为着色器设置制服的问题:glGetUniformLocation 是一个缓慢的操作吗?如果是这样,使用 std::map 存储由字符串中的制服名称索引的制服索引会更慢还是更快?我试图避免在制服中静态编码(即使用宏等)
Nec*_*lis 6
仅glGetUniformLocation在编译/加载着色器时调用一次,然后自己缓存结果;在帧内使用它会导致停顿,因为大多数驱动程序不会将其实现为热路径,并且会在执行之前等待任何排队的管道操作完成(这适用于大多数glGet函数,永远不要在帧内调用这些函数,调用它们一次并缓存结果自己算)。
glGetUniformLocation
glGet
归档时间:
11 年,11 月 前
查看次数:
1781 次
最近记录: