저는 하스켈을 처음 사용하고 UI로 OpenGL
(Graphics.UI.GLUT
사용)을 사용하여 체스 게임을 제작 중입니다. 체스 조각을위한 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 자습서 (하스켈 포트 : http://hackage.haskell.org/package/nehe-tuts, C의 원본은 http : //nehe.gamedev.net/)? 나도 몰라,하지만 어쩌면이게 도움이 될거야. – MichaelO
OpenGL에 구체적으로 표시하고 싶습니까, 아니면 2D 그래픽을 화면에 표시하고 싶습니까? 후자의 경우 SDL2는 매우 간단한 대안이며 좋은 haskell 바인딩이 있습니다. –
키보드 액션 및 게임 플레이가있는 전체 체스 보드가 OpenGL에서 준비되었습니다. OpenGL에서 PNG 이미지를 렌더링하는 데 필요한 모든 것이 좋으며 OpenGL에있을 필요는 없습니다. – codesome