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

Сферы

Вариант функции для создания сплошной сферы, цвет задается в самой функции:

; #########################################################################
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 glColor3ub,0,255,0
mov eax,Radius
invoke gluSphere,hSphere,[eax],[eax+4],Parts,Parts
invoke glEndList
mov eax,hSphere
ret
SolidSphere ENDP
; #########################################################################

То же самое, но для проволочной сферы:

; #########################################################################
WireSphere 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,GLU_LINE
invoke gluQuadricNormals,hSphere,GL_SMOOTH
invoke glColor3ub,255,255,0
mov eax,Radius
invoke gluSphere,hSphere,[eax],[eax+4],Parts,Parts
invoke glEndList
mov eax,hSphere
ret
WireSphere ENDP
; #########################################################################

Прототипы этих функций:

SolidSphere PROTO :DWORD,:DWORD,:DWORD
WireSphere PROTO :DWORD,:DWORD,:DWORD

В код эти функции вставляются аналогично предыдушим примерам. Один из вариантов показан на рисунке:

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

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