在我的片段着色器,我也行硬編碼GLSL紋理sampler2D
gl_FragColor = texture2D(texture, destinationTextureCoordinate) * destinationColor;
哪裏texture
是sampler2D
型的統一。在我的代碼中,我總是將它設置爲值'0'。
glUniform1i(_uniformTexture, 0);
是否有可能跳過在片段着色器調用glUniform1i
,只是鐵桿0?我試着用0
代替texture
,它抱怨說不是有效的類型。
我打算一次只使用一個紋理。後面用'0'替換'texture'的理由是,'_uniformTexture'是texture'的'的位置,和該位置的值'_uniformTexture'被置'0'(通過調用'glUniform1i')。不知道爲什麼這不是更明顯。 我也嘗試用'(sampler2D)0'替換'紋理',這也不起作用。 –
'_uniformTexture'只是您着色器中'sampler2D'變量的句柄。當你通過調用'glUniform1i'發送'0'時,你真的只是告訴採樣器從哪裏採樣,給定一個活動和綁定紋理(見上面的代碼編輯)。 0這裏的值並不意味着「什麼樣」,這意味着從第一階段指數0 樣品被用於究竟什麼你的紋理?我沒有看到將它設置爲0的好處。 –
猜猜我可以跳過它。 –