我正在尝试使用opengl创建一个go board.为此,我试图绘制一堆线来创建网格.但是,每个教程站点(包括opengl)都有C++中的示例,而Haskell wiki并没有很好地解释它.我是opengl的新手,想要一个教程.
我正在编写一个使用OpenGl和Haskell的程序,它应该在点击鼠标的时间和地点绘制一个矩形.但是,一旦我点击并在绘制矩形之前,程序就会关闭.
import Graphics.Rendering.OpenGL
import Graphics.UI.GLUT
import Graphics.UI.GLUT.Callbacks.Window
main = do
(progname, _) <- getArgsAndInitialize
createWindow progname
keyboardMouseCallback $= Just myKeyboardMouseCallback
displayCallback $= display
mainLoop
myKeyboardMouseCallback key keyState modifiers (Position x y) =
case (key, keyState) of
(MouseButton LeftButton, Down) -> do
clear[ColorBuffer]
let x = x :: GLfloat
let y = y :: GLfloat
renderPrimitive Quads $ do
color $ (Color3 (1.0::GLfloat) 0 0)
vertex $ (Vertex3 (x::GLfloat) y 0)
vertex $ (Vertex3 (x::GLfloat) (y+0.2) 0)
vertex $ (Vertex3 ((x+0.2)::GLfloat) …Run Code Online (Sandbox Code Playgroud) 我想知道如何绘制圆圈.根据我的理解,这只能使用很多三角形来完成.但是,我找不到足够清楚地解释它的教程,以便我理解和复制.有没有人知道任何好的教程网站/可以向我解释如何制作一个?