|
From: Damian M. <da...@er...> - 2001-12-30 05:15:39
|
Christopher St John wrote: > Sort them once at the begining. Then resort on every single change in > viewpoint. Assume that as you move around the list will remain mostly > sorted, and choose a sorting algorithm to fit that assumption. If you rotate yourself, say 90 degrees, doesn't the list get horribly out of sort. Mind you, this is simply a Z-buffer problem. > If you hunt around on the net, there are some detailed explanations of > how it all should work, I seem to remember the SGI Performer docs have > a discussion. I'll go fishing. On the underlying graphics library issues, are there some notes floating around anywhere on the overall design of the Scene Graph, and how this is then mapped into the OpenGL library. I also noticed that there is a significant processing load caused by the virtual function ViewOpenGL::insertReference which adds a reference into the call list. In our test cases, during loading of the large VRML file, this causes squillions of calls to glCallList(). While a virtual function can create load, this appears to create nearly half the processing load of tessShellVertex(), gluTessEndPolygon(), tessShellBegin() & insertShell() combined so I don't believe it is just the 'virtual'ness of the function. I'm wondering if there was a way to buffer up these calls, say N at a time, and send them out in a single call to glCallLists(). Mind you, I can't see the optimal spot where I would flush out those remaining in the buffer when the scene was fully interpreted. Thanks - Damian (McGuckin) Pacific Engineering Systems International, 22/8 Campbell St, Artarmon NSW 2064 Ph:+61-2-99063377 .. Fx:+61-2-99063468 | unsolicited email not wanted here ! Views and opinions here are mine and not those of any past or present employer |