Changes between Version 68 and Version 69 of WikiStart
- Timestamp:
- Jan 4, 2013, 4:38:50 AM (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
WikiStart
v68 v69 77 77 A: Your GPU hardware has a fixed sized transform matrix stack. Each time you use a more deeply nested 'rotate' 'translate' or 'scale' transform then a matrix is pushed on this stack. When the stack is full you should get an overflow error and the OpenGL library should kill the process. If your OpenGL library was poorly implemented then matrices pushed onto a full stack will be silently discarded, and then when Gloss tries to pop the full number this will cause an underflow. 78 78 79 The OpenGL specification requires that every implementation has at least 32 entries in the transform matrixstack, so you should be able to apply this many nested 'rotate' 'translate' and 'scale' transforms to your picture. If this isn't enough then you can probably refactor your program so it doesn't use so many nested transforms.79 The OpenGL specification requires implementations to support at least 32 entries on the transform stack, so you should be able to apply this many nested 'rotate' 'translate' and 'scale' transforms to your picture. If this isn't enough then you can probably refactor your program so it doesn't use so many nested transforms. 80 80 81 81 This problem with a fixed size transform stack is discussed further in Section 4 of [http://www.opengl.org/archives/resources/features/KilgardTechniques/oglpitfall/ Overflowing the Projection Matrix Stack]. Gloss tries not to use the stack when it doesn't have to, but we don't know of any way to spill the stack to main memory to allow more entries. If you know how to solve this problem without giving up on hardware acceleration and doing the transforms in software, then please let us know on the mailing list.