我正在使用GLSL渲染基本立方體(由GL_QUADS
表面製成)。我想將頂點上的gl_Vertex
內容傳遞給片段着色器。如果我爲此使用gl_FrontColor
(頂點着色器)和gl_Color
(片段着色器),但使用普通varying
(請參閱下面的代碼&),則此功能無效。由於某種原因,這種變化似乎並未在表面上進行插值。任何想法可能會導致這在OpenGL中?OpenGL/GLSL在GL_QUAD之間變化無法插值
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;
}
立方體的大小是多少?可能它大於1?使用0 ...最多爲1. – fen