MASM32 и OpenGL
Это не так сложно, как на самом деле

Текстурирование сферы

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

invoke glEnable,GL_TEXTURE_2D

В примере это сделано в процедуре CreateObjects. Текстура наносится в процессе создания сферы:

; #########################################################################
SolidSphere PROC ListNumber:DWORD,Radius:DWORD,Parts:DWORD
LOCAL hSphere:DWORD
invoke glNewList,ListNumber,GL_COMPILE_AND_EXECUTE
invoke gluNewQuadric
mov hSphere,eax
invoke gluQuadricDrawStyle,hSphere,GL_FILL
invoke gluQuadricNormals,hSphere,GL_SMOOTH
;<<<<<<<<<<<<<
invoke gluQuadricTexture,hSphere,GL_TRUE
;<<<<<<<<<<<<<
mov eax,Radius
invoke gluSphere,hSphere,[eax],[eax+4],Parts,Parts
invoke glEndList
mov eax,hSphere
ret
SolidSphere ENDP
; #########################################################################

командой

invoke gluQuadricTexture,hSphere,GL_TRUE

Прототип функции:

SolidSphere PROTO :DWORD,:DWORD,:DWORD

В приведенном примере на поверхность сферы нанесена шахматная доска:

Скачать исходники и ехе-файл.

©   Короленко М.В., 2011       
Перепечатка материалов возможна только после согласования с автором при условии обязательной ссылки на сайт