1. Re: OpenGl again.

Hello all,

I'm still very excited about this topic being brought up again. I think
that if Euphoria is to survive it needs a widely supported graphics api
(thats just my opinion).

While I was trouble shooting OpenGL I ran Dr. Watson and it produced this
log file, perhaps this may be of help.

Has any one written a wrapper for another DLL that requires multiple
callbacks? I may be the way Euphoria handles multiple callbacks that is
incompatible with OpenGL.

Many Thanks
Paul Martin


At 12:37 PM 6/17/99 -0400, you wrote:
>Hello,
>
>  I've managed to narrow down the point of crash in the Cube.exw
>demo in Paul Martin's OpenGL porting project. The mechanics of
>*why* it was crashing still escapes me...
>
>The project files can be obtained at Paul's site:
>
>cube.zip:  http://www.geocities.com/CapeCanaveral/Campus/8684/Cube.zip
>mesa dlls: http://www.geocities.com/CapeCanaveral/Campus/8684/mesa3dll.zip
>
>The program stops crashing with the following modification to his
>code:
>
>--------------------------------------------------------------
>-- reshape() re-coded by me to ignore the parameters
>function my_reshape()
>    glViewport (0,0,500,500)
>    glMatrixMode(GL_PROJECTION)
>    glLoadIdentity()
>    glFrustum(-1.0, 1.0, -1.0, 1.0, 1.5, 20.0)
>    glMatrixMode(GL_MODELVIEW)
>    return 0
>end function
>
>function reshape (atom w, atom h)
>    glViewport (0,0,w,h)
>    glMatrixMode(GL_PROJECTION)
>    glLoadIdentity()
>    glFrustum(-1.0, 1.0, -1.0, 1.0, 1.5, 20.0)
>    glMatrixMode(GL_MODELVIEW)
>    return 0
>end function
>
>-- constant creshape = call_back(routine_id("reshape"))
>constant creshape = call_back(routine_id("my_reshape"))
>--------------------------------------------------------------
>
>  As you can see, my_reshape() is the same as reshape()
>except that it doesn't accept the parameters. The 500's
>plugged into glViewport are what's normally passed in by
>w and h until the window is resized. Examinining w and h
>when they are passed to reshape() shows that they are
>indeed passed in correctly. Only some time after returning
>from reshape() does the program crash.
>
>  reshape() is *supposed* to take the two integer parameters
>tho. The C header has the following:
>
>GLUTAPI void APIENTRY glutReshapeFunc(void (GLUTCALLBACK * func)(int width,
>int height));
>
>glutReshapeFunc() is to be initialized with a pointer to a call_back
>function.
>
>  Paul has it coded as follows:
>
>in GLUT2.ew:
>constant glut_ReshapeFunc  = define_proc(glut,"glutReshapeFunc",{C_POINTER})
>
>global procedure glutReshapeFunc(atom callback)
>        c_proc( glut_ReshapeFunc,{callback})
>end procedure
>
>in Cube.exw:
>glutReshapeFunc(creshape)
>
>Can anyone shed some light on what's happening here?
>
>Thanks,
>Christopher D. Hickman
>
>

new topic     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu