私はハスケルを初めて使い、OpenGL
(Graphics.UI.GLUT
を使用)を使用してUI用にチェスゲームを構築しています。私はチェスのためのPNG画像をレンダリングしようとしています。ハスケルでOpenGLを使用してPNG画像をレンダリングする
画像をTextureObject
に変換してレンダリングすることができますが、それを行う方法を知っている参考資料は見つかりませんでした。
これは私のコードは、チェスボードを生成するためにどのように見えるかです
drawSquare :: BoardSquare -> IO()
drawSquare ((x,y,z),(r,g,b)) = preservingMatrix $ do
color $ Color3 r g b
translate $ Vector3 x y z
drawCube -- this will draw a square of appropriate size
-- Display Callback
display :: IORef GameState -> DisplayCallback
display gameState = do
gstate <- get gameState
clear [ColorBuffer]
forM_ (getBoardPoints gstate) $ drawSquare -- drawing all 64 squares here
flush
誰も私が与えられたファイルのパスとウィンドウの任意のx
とy
座標にPNG画像をレンダリング助けることができますか?
あなたの質問に固有ではないかもしれませんが、neheチュートリアル(Haskellポート:http://hackage.haskell.org/package/nehe-tuts、Cのオリジナルはhttp: //nehe.gamedev.net/)?私は分かりませんが、おそらくこれが助けになります... – MichaelO
OpenGLで具体的にしたいのですか、2Dグラフィックスを画面上に表示したいですか?後者の場合、SDL2は非常に単純な選択肢であり、良好なハズケルバインディングがあります。 –
キーボードのアクションとゲームプレイを備えたチェスボードの合計がOpenGLで用意されています。 PNGイメージをレンダリングするためにOpenGLを使用する場合は、OpenGLを使用する必要はありません。 – codesome