Nurbs surfaces support

Software crash after call gluEndSurface after migrating to 64bits version. It is trimmed nurbs and probably something wrong with trimming contour. 32 bit version on same data works just fine. gluNurbsSurface was perfectly ok for us. Developing own trimmed nurbs shader is not in nearest future plans, but so far I can’t see any replacement for gluNurbsSurface. Any Ideas or or propossals will be very appreciated.

I don’t think implementations of GLU are being kept up-to-date. You might be able to find the source code to an implementation and correct the error yourself (since it’s all user-space code that lives on top of the actual OpenGL).

You have to write it yourself. That’s generally how OpenGL (and most low-level graphics APIs) go these days.

First I’d use a debugger to try to determine the cause of the crash. If it’s crashing inside GLU itself and there’s nothing apparently wrong with the calling code, build it from source so you can debug it.

GLU is still being maintained:

exception:
An invalid or unaligned stack was encountered during an unwind operation.

Calls stack:

    ntdll.dll!RtlRaiseStatus()	Unknown
ntdll.dll!RtlUnwindEx()	Unknown
ntdll.dll!RtlUnwind()	Unknown
msvcrt.dll!__longjmp_internal()	Unknown
glu32.dll!mylongjmp()	Unknown
glu32.dll!Subdivider::split(class Bin &,class Bin &,class Bin &,int,float)	Unknown
glu32.dll!Subdivider::monosplitInS(class Bin &,int,int)	Unknown
glu32.dll!Subdivider::nonSamplingSplit(class Bin &,class Patchlist &,int,int)	Unknown
glu32.dll!Subdivider::samplingSplit(class Bin &,class Patchlist &,int,int)	Unknown
glu32.dll!Subdivider::splitInT(class Bin &,int,int)	Unknown
glu32.dll!Subdivider::splitInT(class Bin &,int,int)	Unknown
glu32.dll!Subdivider::splitInT(class Bin &,int,int)	Unknown
glu32.dll!Subdivider::splitInT(class Bin &,int,int)	Unknown
glu32.dll!Subdivider::splitInT(class Bin &,int,int)	Unknown
glu32.dll!Subdivider::splitInS(class Bin &,int,int)	Unknown
glu32.dll!Subdivider::splitInS(class Bin &,int,int)	Unknown
glu32.dll!Subdivider::splitInS(class Bin &,int,int)	Unknown
glu32.dll!Subdivider::splitInS(class Bin &,int,int)	Unknown
glu32.dll!Subdivider::drawSurfaces(long)	Unknown
glu32.dll!NurbsTessellator::do_endsurface(void)	Unknown
glu32.dll!gluEndSurface()	Unknown

gl_DrawNurbsSrf(tagbsurface * pBSrf, int cvus, Contour2d * pContour, float UVRendStep, int Oriented)

It appears to be an internal error.

I can only suggest reporting this to the maintainers via their gitlab page.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.