我是Haskell的新手,我正在使用OpenGL
(使用Graphics.UI.GLUT
)構建用於UI的國際象棋遊戲。我試圖呈現PNG圖像的棋子。在Haskell中使用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是一個非常簡單的選擇,並且有很好的haskell綁定。 –
帶有鍵盤動作和遊戲玩法的總棋盤在OpenGL中準備就緒。任何可以用OpenGL渲染PNG圖像的東西都應該沒問題,不需要在OpenGL中。 – codesome