Шахматный шейдер, использующий только координаты текстуры - PullRequest
0 голосов
/ 23 ноября 2011

Я пытаюсь написать шахматную фигуру внутри шейдера, но не могу понять, как это сделать.Прямо сейчас я просто рисую черным, когда tex.x и tex.y меньше 0,5 или больше 0,5 и рисую белым, если нет.В результате половина изображения становится белым, а половина - черным, а не настоящей шахматной доской.

1 Ответ

4 голосов
/ 23 ноября 2011

логическое условие для шахматной доски 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)

То есть, приведите координаты текстуры в нужный вам диапазон и оставьте только десятичную часть.

...