GLSL を使用して基本的な立方体 (GL_QUADS
サーフェスから作成) をレンダリングしています。gl_Vertex
コンテンツを頂点からフラグメント シェーダーに渡したいと思います。gl_FrontColor
これに(頂点シェーダー)と(フラグメントシェーダー)を使用している場合はすべて機能しますgl_Color
が、プレーンを使用している場合は機能しませんvarying
(以下のコードと画像を参照)。なんらかの理由で、変化がサーフェス全体で補間されていないようです。OpenGL でこれを引き起こす原因は何ですか?
glShadeModel
に設定されてGL_SMOOTH
います - 現在、この効果を引き起こす可能性のあるものは他に考えられません。
頂点シェーダー:
#version 120
varying vec4 frontSideValue;
void main() {
frontSideValue = gl_Vertex;
gl_Position = transformPos;
}
フラグメント シェーダー:
#version 120
varying vec4 frontSideValue;
void main() {
gl_FragColor = frontSideValue;
}