[HOpenGL] NEW-HOpenGL-1.01 feedback

Andre W B Furtado awfurtado@uol.com.br
Tue, 6 Nov 2001 03:09:03 -0200


This is a multi-part message in MIME format.

------=_NextPart_000_000B_01C16670.63CC7AC0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Ok, here you have my feedback on the NEW-HOpenGL-1.01 pack (I think it would
be called HOpenGL-1.02 to avoid misunderstanding... :)

(1)

The problem between glut.dll and glut32.dll was resolved. Now the "configure
step" finds "-lglut32" rather than "-lglut", and when I run the Red Book
examples (and my own examples also) I don't get bored by *foo.dll not found*
anymore.

[I would like to say that, when I modified aclocal.m4 to make this happens
before (OLD-HOpenGL-1.01), I DID NOT run "autoconf". I just deleted
config.cache and started the compiling process all over again... sorry for
this, I think it would have worked if I've done the right thing.]

(2)

[not very important] Warning messages still appear during the "make step".

(3)

I still get the following exception when leaving (pressing ESC in the) the
RedBook_HS examples:

fatal error: GLUT_CBWindow_d7T5: uncaught exception

(4)

Now this really intrigued me: why (GHC-4.08-1 + HOpenGL-1.00) programs are
significantly smaller than (GHC-5.02 + HOpenGL-1.01)? The file attached in
this email (tst.hs), once compiled, has 120Kb with the previous versions of
GHC+HOpenGL, but 492Kb (!) with the present versions. This is true also for
the RedBook_HS examples.

And, to make things worse, the new programs are also SLOWER than the old
ones. I thought that migrating to GHC-5.02 would make things faster...
(specially for my bitmap loader!)

-- Andre

------=_NextPart_000_000B_01C16670.63CC7AC0
Content-Type: application/octet-stream;
	name="tst.hs"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="tst.hs"

import GLUT
import GL

display :: DisplayAction
display = do
   clear [ ColorBufferBit ]
   flush  
   swapBuffers
   
myInit :: IO ()
myInit = do
		clearColor (Color4 0 0 0 0)
		clear[ColorBufferBit]
		matrixMode Projection
   		loadIdentity
   		ortho 0.0 1.0 0.0 1.0 (-1.0) 1.0

main :: IO ()
main = do
	GLUT.init Nothing
	createWindow "AWBF Bitmap Display" (return ()) [ GLUT.Double, GLUT.Rgb ]
                (Just (WindowPosition 100 100))
                (Just (WindowSize     250 250))
	myInit
   	displayFunc display
   	mainLoop
------=_NextPart_000_000B_01C16670.63CC7AC0--