我是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