From: Mark P. <li...@iv...> - 2000-06-19 18:49:19
|
I am just starting to learn Mesa at a lower level and don't know too many the details of the rendering engine yet but: The basic problem here seems to be that we are culling triangles without regard to its neighbouring triangles. I expect this would be very difficult to do and it is desirable to treat each triangle independently. However, wouldn't a solution be that the smallest a triangle can be is one pixel - e.g. the scan conversion for this triangle is automatic. If a triangle is mathematically smaller then a pixel area its rasterization is just the nearest pixel. Then the depth buffer test and other rendering details are processed accordingly. Then if you do something crazy like rendering 50 million polygons in a 72x72 pixel box (which I tried). The system will have to render 50 million pixels, and many of them will be the same pixel but the result will be correct. Is this a valid thing to consider? I am assuming here that the numeric instibility problems are caused by attempting to scan convert a mathematically tiny triangle. In my case I used a quadstrip. In this instance it might be possible to consider a higher level approach. E.g. Instead of breaking each quad into two triagles and render - reduce the quad strip before triangulation to generate reasonable (1pixel) triangles. - Mark >On Mon, 19 Jun 2000, Stephen J Baker wrote: > On Sun, 18 Jun 2000, Linux Development Account wrote: > > > > #1 Incorrect Rendering of Subpixel quadstrips - Serious problem ? > > > > Polygons less than one pixel in size don't display at all. Take a very complex > > polygonal surface then slowly pull back. Given the huge number of > > polygons eventually the size of a polygon will be mathematically smaller > > than one pixel. It appears at this stage that no on screen pixel > > representation is drawn. Thus as you pull back the suface discenigrates > > and vanishes even though the overall surface might cover thousands of > > pixels. > > This has come up a couple of times before. > > Mesa does cull very tiny triangles (which is "A BAD THING" IMHO) - we are > told that it's necessary for Mesa to do this in order to avoid mathematical > instabilities down the line. > > The last person to complain about this hacked Mesa to reduce the size limit > to something MUCH smaller than it currently is - with no ill effects. > > I guess that hack didn't make it into mainstream Mesa...but I think we DO > need to address this issue as a bug. > > > Note this problem does not happen on SGI, Sun, or windows OpenGL > > implementations so I guess there is some aspect of the OpenGL standard > > that Mesa does not correctly implement. > > I don't know if what Mesa does is in violation of the OpenGL spec or not... > I suspect it is a violation - but even if it isn't, it's an evil that needs > to be addressed properly at some stage. > |