From: Reed H. <re...@ze...> - 2003-11-10 16:44:19
|
Braden wrote: > Ick. This does sound like a libtool bug. Yes, you were right. I got the CVS and it worked. (Though it looks like I used libtool 1.4.3...) >> There are still some segfaults running lookat. >> >> I'll post a patch against CVS for everything tomorrow sometime. > > I've already fixed some of these problems on the OpenVRML-0_14-BRANCH. OK, great, it builds fine now. Below is a quick fix (probably there is something better but I am not familiar with the rest code) for the segfault in lookat. glGetIntegerv needs a valid GL context created, but was getting called at init because of the static glCapabilities object in libopenvrm-gl. Now lookat works (After zapping it with "Rez -t APPL Carbon.r -o .libs/lookat", which you could do in a local automake hook. I also have some makefile code for building ".app" bundles, but since lookat is a command line tool that might not be so helpful). It's still pretty slow on startup and the Joystick config dialog is very unresponsive. I've had similar problems in CrystalSpace, probably you are supposed to use an AGL runloop rather than GLUT but that is just a guess, I have some links to example/tutorial code that I will take a look at. Also, the up key moves backward and the down key moves forward, at least in my little test world. Not sure if this is a bug or not :) reed Index: src/libopenvrml-gl/openvrml/gl/viewer.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml-gl/openvrml/gl/viewer.cpp,v retrieving revision 1.6.2.2 diff -r1.6.2.2 viewer.cpp 96a97,98 > private: > GLint m_maxModelviewStackDepth; 98,99c100 < GLint maxModelviewStackDepth; < --- > GLint maxModelviewStackDepth(); 103,106c104,109 < GLCapabilities::GLCapabilities() < { < glGetIntegerv(GL_MAX_MODELVIEW_STACK_DEPTH, < &this->maxModelviewStackDepth); --- > GLCapabilities::GLCapabilities() : m_maxModelviewStackDepth(-1) { } > > GLint GLCapabilities::maxModelviewStackDepth() { > if(m_maxModelviewStackDepth == -1) > glGetIntegerv(GL_MAX_MODELVIEW_STACK_DEPTH, &this->m_maxModelviewStackDepth); > return m_maxModelviewStackDepth; 109c112 < const GLCapabilities glCapabilities; --- > GLCapabilities glCapabilities; 307c310,311 < if (this->size == size_t(glCapabilities.maxModelviewStackDepth - 1)) { --- > > if (this->size == (size_t)(glCapabilities.maxModelviewStackDepth() - 1)) { |