Шахматная доска
Функция SolidRect создает квадрат со стороной 1.0 в плоскости Х-Y и наносит на него текстуру в виде шахматной доски. Для простоты в качестве координат текстуры взяты координаты вершин квадрата:
; #########################################################################
SolidRect proc ListNumber:DWORD
invoke glNewList,ListNumber,GL_COMPILE_AND_EXECUTE
invoke glEnable,GL_TEXTURE_2D
invoke glBegin,GL_QUADS
top(Top1)
toptx(Top1)
top(Top2)
toptx(Top2)
top(Top3)
toptx(Top3)
top(Top4)
toptx(Top4)
invoke glEnd
invoke glEndList
invoke glDisable,GL_TEXTURE_2D
ret
SolidRect endp
; #########################################################################
Прототип функции:
SolidRect PROTO :DWORD
Фон создается с помощью определения цвета в секции данных:
ColorRGB dd 0.1,0.5,0.5,0.5
Включается цвет фона в процедуре DrawScene кодом
lea eax,ColorRGB
invoke glClearColor,[eax],[eax+4],[eax+8],[eax+12]
Для наглядности в пример добавлено вращение, доску можно перевернуть и убедиться, что клетки с нее не осыпаются (здесь картинка):