Changes between Version 67 and Version 68 of WikiStart


Ignore:
Timestamp:
Jan 4, 2013, 4:35:49 AM (11 years ago)
Author:
Ben Lippmeier
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v67 v68  
    7575
    7676'''Q: I'm getting an "internal stack overflow" or "internal stack underflow" error from OpenGL when running a program that draws a picture recursively.'''[[br]]
    77 A: Your GPU hardware has a fixed sized transform matrix stack. Each time you use a '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.
     77A: 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.
    7878
    7979The OpenGL specification requires that every implementation has at least 32 entries in the transform matrix 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.