我正在尝试在着色器中编写一个棋盘图案,但却无法弄清楚它的数学运算。现在我只是在tex.x和tex.y小于0.5或大于0.5时绘制黑色,如果没有则绘制白色。这导致一半图像为白色,一半为黑色而不是真正的棋盘格。
答案 0 :(得分:4)
2x2棋盘的布尔条件类似于(tex.x < 0.5) ^^ (tex.y < 0.5)
当然,如果你想要更多的棋子,你必须开始对每个纹理坐标进行一些mod
计算。
编辑以添加:
假设你想要一个2Nx2M方格的棋盘图案(即使是为了简单的数学运算):
(mod(N*tex.x, 1.f) < 0.5f) ^^ (mod(M*tex.y, 1.f) < 0.5f)
即,将纹理坐标置于您关注的范围内,并仅保留小数部分。