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;
}
