我对OpenGL API非常陌生,最近刚刚了解到纹理及其使用方法。生成的纹理缓冲区不像常规uniform变量一样绑定,而是使用
我唯一能想到的原因是为了充分利用显卡的处理能力和纹理处理能力,而不仅仅是直接绑定缓冲区。这是否正确,还是这只是API实现的方式?
官方wiki上没有给出任何推理,只是说这很奇怪:“在OpenGL中绑定纹理有点奇怪” https://www.khronos.org/opengl/wiki/Texture
glActiveTexture
命令来绑定,而不是像我们使用glUniform
将纹理直接传递给着色器。这种惯例背后的原因是什么?我唯一能想到的原因是为了充分利用显卡的处理能力和纹理处理能力,而不仅仅是直接绑定缓冲区。这是否正确,还是这只是API实现的方式?
官方wiki上没有给出任何推理,只是说这很奇怪:“在OpenGL中绑定纹理有点奇怪” https://www.khronos.org/opengl/wiki/Texture