Haskell и GtkGL - LookAt и вращение
Я смотрю на учебник GtkGL здесь, и я делаю некоторые модификации. В частности, когда я ввожу вращение:
Gtk.timeoutAddFull (do
preservingMatrix $ do -- from here
matrixMode $= Modelview 0
rotate 10 (Vector3 0.0 1.0 (0.0 :: GLfloat)) -- to here
Gtk.widgetQueueDraw canvas
return True)
Gtk.priorityDefaultIdle animationWaitTime
Работает хорошо. Однако, когда я ввожу lookAt в функцию отображения:
display = do
loadIdentity
color (Color3 1 1 1 :: Color3 GLfloat)
renderPrimitive Polygon $ do
vertex (Vertex3 0.0 0.0 0.0 :: Vertex3 GLfloat)
vertex (Vertex3 1.0 0.0 0.0 :: Vertex3 GLfloat)
vertex (Vertex3 1.0 1.0 0.0 :: Vertex3 GLfloat)
vertex (Vertex3 0.0 1.0 0.0 :: Vertex3 GLfloat)
preservingMatrix $ do -- from here
matrixMode $= Modelview 0
loadIdentity
lookAt (Vertex3 0 1 0) (Vertex3 1 1 0) (Vector3 0 1 0) -- to here
flush
Камера меняет свое положение, но вращения не происходит.