2

Haskell と OpenGLを使用して地形を生成しようとしています。コードを実行すると動作しますが (黒いウィンドウが表示されます)、点が表示されません。どこが間違っていますか?

import Data.Int
import Graphics.UI.GLUT

type Terrain = [(GLint, GLint, GLint)]

points = generateFlatTerrain 100 100 0

generateFlatTerrain :: Int32 -> Int32 -> Int32 -> Terrain
generateFlatTerrain width height depth = 
    [(x, y, z) | x <- [1..width], y <- [1..height], z <- [depth]]

drawTerrain :: Terrain -> IO ()
drawTerrain terrain = renderPrimitive Points
                      $ mapM_ (\(x, y, z) -> vertex $ Vertex3 x y z) terrain

main :: IO ()
main = do
  (_progName, _args) <- getArgsAndInitialize
  _window <- createWindow "Hello, world!"
  displayCallback $= display
  mainLoop

display :: DisplayCallback
display = do
  clear [ ColorBuffer ]
  drawTerrain points
  flush
4

1 に答える 1