Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

OpenGL Nurb Rendering 64-bit

dannycat
New Contributor I
634 Views

My next hurdle with 64-bit is regarding OpenGL NURBs rendering. As usual the code works fine in the Win-32 configuration but behaves weirdly in 64-bit. I am using the f90gl implementation from http://math.nist.gov/f90gl/f90gl.htmlwebsite.

I suspect the Nurbs Rendering object pointer to be the maincause as, first of all in the following code segment:

pCNurb => gluNewNurbsRenderer()

pSNurb => gluNewNurbsRenderer()

call gluNurbsCallback(pCNurb,GLU_ERROR,ogl_NurbCurvError)

call gluNurbsCallback(pSNurb,GLU_ERROR,ogl_NurbSurfError)

call gluNurbsProperty(pSNurb,GLU_SAMPLING_TOLERANCE, real(ogl_tol))

if(ogl_CullCurves) then

call gluNurbsProperty(pCNurb,GLU_CULLING, real(GL_TRUE))

else

call gluNurbsProperty(pCNurb,GLU_CULLING, real(GL_FALSE))

endif

In the debugger the program jumps out of the subroutine at the second call gluNurbsCallback(pSNurb....line, ignoring the last if block completely,suggesting a dodgy address.

When the pCNurb object is referenced for the first time later in the program I get an access violation error:

"Unhandled exception at 0x000007ff6d601fdc in FEM2000_64dbg.exe: 0xC0000005: Access violation writing location 0x0000000105729e28"

I know it's not much to go on but my suspicions are aroused by the nature of the address location which looks to be a 32-bit style number.

I'm hoping Steve (Lionel) can assist me with this as he was acknowedged for his assistance in creating to f90gl code for IVF 64-bit fortran.

0 Kudos
2 Replies
Steven_L_Intel1
Employee
634 Views
I have not looked at f90GL in a long time. I agree that it seems to be a 32-64 bit mismatch.
0 Kudos
dannycat
New Contributor I
634 Views

Fair enough, but can you suggest where I may be able to getsome assistance on this? I suppose I could try using the ifopngl version instead, but it means lots more changes and testing. I prefer f90gl because the procedures have correct names and argument types as defined in Official OpenglARB documentation, whereas the dfopngl routines didn't and I remember having lots of heartaches using these first time around in CVF.

0 Kudos
Reply