OpenGL标准规定了,如果程序没有将uniform sampler2D绑定到纹理单元,texture2d操作的结果应该是什么吗?
例如,在像素着色器中:
layout(binding=0) uniform sampler2D Map_Diffuse;
...
texture2D(Map_Diffuse, attrib_Fragment_Texture)
程序中的位置:
::glActiveTexture(GL_TEXTURE0);
::glBindTexture(GL_TEXTURE_2D, 0);
背景是我想知道是否可以对纹理和非纹理实体使用同一个着色器,只需确保将GL_TEXTURE_2D绑定到纹理2d(texture2d())返回0、0、0、1。否则我将需要为每个排列组合使用一个着色器。