Освещение
Сфера из предыдущего примера больше напоминает диск - нет ощущения объема. Чтобы увидеть, что это трехмерные объекты, нужно включить освещение. Один из простейших варианов функции освещения с одним неподвижным источником белого света:
; #########################################################################
CreateLight PROC
invoke glLightfv,GL_LIGHT0,GL_POSITION,ADDR LightPosition
invoke glEnable,GL_LIGHT0
ret
CreateLight ENDP
; #########################################################################
Прототип функции:
CreateLight PROTO
Координаты положения источника света задаются LightPosition в секции данных. Обращение к функции происходит в процедуре DrawScene, функция в этом варианте не требует передачи параметров. Результат добавления освещения в код предыдущего примера: