
I've played a bit around and tried to use DoubleBuffered display mode instead of single and everything works fine (as I read using DoubleBuffered is important to avoid animation flicker, so I would have to use it anyway) . Thanks for helping, know I can start using OpenGL with Haskell, I hope there won't be any big problems in the future. If anybody has the same problems, here's my Main.hs: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=17220 Daniel Balazs Komuves schrieb:
Hi Daniel,
Your program works fine here (OSX + GHC 6.10.1), so I can only guess: - you either have some installation program (are you on a 64 bit system by any chance?) - or the GLUT implementation is a bit different, and needs some more initialization.
In particular, I would try setting `initialDisplayMode' before calling `createWindow', eg.
initialDisplayMode $= [ RGBAMode ]
and possibly also `initialWindowSize'.
Also, there is no clean way to exit the program; you should set up a keyboard handler and exit on pressing ESC or something like that, but this is not really important.
Balazs
On Sun, Feb 7, 2010 at 2:06 AM, Daniel
mailto:cornicis@googlemail.com> wrote: Hello! So, my problem is this: I can compile my "Main.hs" without errors, but when I'm executing the application a black screen appears and my cursour is still visible. After klicking somewhere on the screen my normal Desktop reappears with "Hello World" in my task bar. I can minimize all other windows to have only "Hello World" visible, but the black screen appears again when I'm trying to activate the window. Do you know what I am doing wrong?
Ubuntu is my OS, all libraries are installed, I have the same problem using Hugs.
Here's my Main.hs:
import Graphics.UI.GLUT import Graphics.Rendering.OpenGL
main = do (progname, _) <- getArgsAndInitialize createWindow "Hello World" displayCallback $= display reshapeCallback $= Just reshape mainLoop
reshape s@(Size w h) = do viewport $= (Position 0 0, s) postRedisplay Nothing
myPoints :: [(GLfloat, GLfloat, GLfloat)] myPoints = map (\k -> (sin(2*pi*k/12),cos(2*pi*k/12),0.0)) [1..12]
display = do clear [ColorBuffer] renderPrimitive Points $ mapM_ (\(x,y,z) -> vertex$Vertex3 x y z) myPoints flush
Thanks for helping! :) _______________________________________________ HOpenGL mailing list HOpenGL@haskell.org mailto:HOpenGL@haskell.org http://www.haskell.org/mailman/listinfo/hopengl