シーンをレンダリングし、マテリアルの色をテクスチャとブレンドしたいと考えています。プログラム可能なパイプラインと GLSL を使用しています。関数 texture() が呼び出されると、メッシュのすべての部分でテクスチャが透明になることはありません。(最終的なfragColorでvec4を使用しない場合でも)
下のスクリーンショットを見てください。最初の画像ではマテリアルの色しかなく、2 番目の画像ではテクスチャが適用されていますが、マテリアルの色だけの面は透明になります。
私のフラグメントシェーダーには、次のようなものがあります。
vec4 tex = texture(texsampl,fTexCoord);
fFragColor = ambient + (diffuse*tex) + specular;