Changes between Version 60 and Version 61 of WikiStart


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

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v60 v61  
    3838'''Q: I tried to draw a polygon shaped like a star, but it looks wrong.'''[[br]]
    3939A: Gloss does not support non-convex polygons. You'll need to break up your picture into several separate convex polygons (eg, triangles). Gloss calls OpenGL directly to draw polygons, and the API doesn't handle non-convex ones. To fix this we'll need to write a triangulation function (#11).
     40
     41'''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]]
     42A: 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. This problem 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 to avoid this error completely we'd need to give up on hardware accelerated geometry transforms, and write our own software implementation.  It is a deeply sad limitation of the OpenGL API. If you know a better way to address this problem then please let us know on the mailing list.
    4043
    4144'''Q: Gloss crashes at startup'''[[br]]