我想树荫跳棋四:GLSL棋盘图案
F(P)= [楼层(PX)+地板(PY)]模2。
我四是:
glBegin(GL_QUADS);
glVertex3f(0,0,0.0);
glVertex3f(4,0,0.0);
glVertex3f(4,4,0.0);
glVertex3f(0,4, 0.0);
glEnd();
顶点着色器文件:
varying float factor;
float x,y;
void main(){
x=floor(gl_Position.x);
y=floor(gl_Position.y);
factor = mod((x+y),2.0);
}
而片段着色器文件是:
varying float factor;
void main(){
gl_FragColor = vec4(factor,factor,factor,1.0);
}
但是我得到这个:
看来,MOD功能doeasn't工作或财产以后也许还有... 任何帮助吗?
有趣。结果显示四边形实际上呈现为两个三角形(topleft/bottomright)。否则,结果将更像一个平滑的棋盘。如果是这样,你可以在你的片段着色器中使用阈值函数来获得合适的棋盘格。实际上,插值对棋盘格效果没有用处。 – 2013-07-18 10:52:18