HOpenGLメモ
CG論の課題を提出ed。
まあつまりOpenGLをCとかJavaでただ叩くのもつまんないよね、とか言ってHaskell with HOpenGLで書いてみたわけだけど、そもそもHOpenGLのドキュメントがかなり手抜きなので、OpenGLに慣れている人がHaskellで使ってみるために利用するならまだしも、初心者が初めて使うラッパーとしては不適すぎた。反省。
はまった点をいくつかメモしておく。
- textureBinding Texture2D $= Just textureName は renderPrimitiveの中でやっちゃだめ。renderPrimitiveの中はcolorとかvertexとか専用。
- Zバッファを有効にするためには、initialDisplayMode $= [WithDepthBuffer], depthMask $= Enabled に加えて depthFunc $= Just Lessが必要。
- texImage2Dの前に textureFilter Texture2D $= ((Nearest, Nothing), Nearest) が必要。
- plusPtr :: Ptr a -> Int -> Ptr b …なんでキャストまでセットになってるかなあ。
- globalVariable = unsafePerformIO $ newIORef 0