
Marc A. Ziegert wrote:
does anyone else have this problem? i want to use double buffering, but swapBuffers does not seem to work.
Works for me with the current version from CVS on x86 Linux, see below.
to set the active window to... the active window (i think that has to work!) does not work, too. [...]
I guess with "active" you mean "current", but this works for me, too. Remember that you can't access currentWindow (or windowPosition, windowSize, etc.) before mainLoop is entered, this is how GLUT works. Cheers, S. ---------------------------------------------------------------------- import Graphics.UI.GLUT dc :: DisplayCallback dc = do clearColor $= Color4 0 0 1 0 clear [ColorBuffer, DepthBuffer] putStrLn "begin swapBuffers" swapBuffers putStrLn "end swapBuffers" main :: IO () main = do getArgsAndInitialize initialDisplayMode $= [DoubleBuffered, WithDepthBuffer] b <- get displayModePossible putStrLn $ "displayModePossible? ..." ++ show b createWindow "main" displayCallback $= dc mainLoop ---------------------------------------------------------------------- panne@jeanluc:~> ghc --make first.hs Chasing modules from: first.hs Compiling Main ( first.hs, first.o ) Linking ... panne@jeanluc:~> ./a.out displayModePossible? ...True begin swapBuffers end swapBuffers [ blue window appears, iconized it and de-iconized it again ] begin swapBuffers end swapBuffers