Ну я вроде как разобрался уже...
Разницы не заметил между отдельными функциями, и этим глуком
gluLookAt ...
Хех...
Никто не знает, как повернуть объект вокруг себя?
Есил поворасчивать вначале цикла, а потом по глобальным координатам переставлять - параша получается.
Если вначалае переместить по глобальным координатам, а затем вертим, то объект поворачивается не вокруг своей оси, а вокруг 0, то есть по большому радиусу...
Пытался методом тыка - не получилось...
Method Draw()
Local xtrans:Float, ztrans:Float
Local scenerotX:Float, scenerotY:Float
'Вычеляем мировые координаты поворота.
scenerotX = 360.0 - CameraRX
scenerotY = 360.0 - CameraRY
'координаты мировые пооложения в простарнстве
xtrans=-CameraX
ztrans=-CameraZ
glLoadIdentity
' Перемещаем по мировым координатам.
glRotatef -scenerotY, 1,0,0
glRotatef scenerotX, 0,1,0
glTranslatef xtrans, 0, ztrans
'Рисуем...
glBegin GL_QUADS
For Local i = 0 To VerteCol
glColor3f 0.9, 0.2, 0.15
glVertex3f VertexX[i], VertexY[i],VertexZ[i]
Next
glEnd
End Method
End Type
glRotated RotateSpeed, RotateX,RotateY,RotateZ
А вот он мега аццкий код , вертящий объект...
Но вот как его вокруг своей оси - хз...
Вариант 1.
При вызове функции поворота мы поворачиваем объект и как-нибудь записываем текущие координаты
вариант 2.
Вначале перемещаем и крутим объект. Потом закрепляем как-нибудь. И уже сново поворачиваем, но уже вокруг своей оси...
вот... как именно - я хз...