From: Angus Dorbie (dorbie++at++sgi.com)
Date: 03/01/2000 13:39:41
No,
this absolutely is not a bug.
A depth sort is an approximation. It works reasonably well in the
general case.
You have a contrived case where you have a specific relationship between
the OBJECT space geometry and EYE space.
Range sorting does not work well in this case. There are more expensive
algorithms which would solve your problem.
If you take your narrow FOV example and rotate it to look at your
parallel plains at an angle the bug you have eliminated reappears, the
only reason narrow fov works is that view vector equals local viewer
vector in the center of the channel. So, your reasoning is bound again
by your OBJECT space EYE space relationship, so the reasoning is flawed.
With orthographic channels the nature of the projection is itself
different.
CHeers,Angus.
Scott Herod wrote:
>
> Hello Angus,
>
> Thanks for the response.
>
> After thinking about your comments about billboards, I agree that in
> case of billboarding to the local view vector it is reasonable to
> depth sort using Euclidean distances. ( I have an image of a mirror
> ball. )
>
> I have two problems with the Euclidean technique. ( Computational
> complexity is the same in both cases. )
>
> First, if I have two rectangular geosets on planes parallel to the eye
> space planes and I move them backwards and forwards w.r.t each other,
> there is a region where they depth sort one way, and alpha blend
> another. This region is the volume between the plane corresponding to
> the depth of the center of the center most plane and sphere centered
> at the eye point which passes through the center of that plane. For
> a plane centered in the viewing frustum the distance between where
> depth buffering switches as you move and where alpha-blending starts
> to work correctly is significant.
>
> Second, with a perspective viewing frustum, the difference between
> a Euclidean distance and projected distance is a function of the
> field of view. As the FOV decreases, the discrepency diminishes with
> limit 0 as the FOV becomes 0. However, switching to an orthographic
> channel does not use projective distance. ( That might be considered
> a bug. )
>
> Thank you,
>
> Scott Herod
> herod++at++rtset.com
>
> Angus Dorbie wrote:
> >
> > The Performer method is more accurate for the general case.
> > It seems that you have a contrived example in mind where your test
> > produces better results, (planes parallel to eye space planes of equal
> > z) but for the general case of flying through a complex world the range
> > method is better.
> >
> > For instance your method would be desirable for sorting trees which were
> > billboarded to the channel forward viewing vector, the Performer method
> > is better for sorting billboarded trees which billboard to a local
> > viewer vector to each individual tree.
> >
> > Unfortunately it is not an option for you to change this, the sort is an
> > internal Performer algorithm.
> >
> > Cheers,ANgus.
> >
> > Scott Herod wrote:
> > >
> > > Hello,
> > >
> > > I have another question about drawing order and the relationship
> > > to the depth buffer. If I have a symmetric, prospective pfChannel
> > > and draw a rectangular geoset that is perpindicular to the frustum's
> > > axis, the depth buffer is filled with a rectangle of constant
> > > values. ( It's easy to check and is essentially similar triangles. )
> > >
> > > On the other hand, depth sorting of transparent geosets seems to
> > > be done by computing the Euclidean distance between the centers of
> > > the geosets' bounding spheres and the eye-point.
> > >
> > > Why isn't depth sorting of geosets computed so that iso-surfaces
> > > are planes parallel to the front and rear clipping planes as is the
> > > case for filling the depth buffer rather than concentric spheres?
> > > Is is easy to change the sorting algorithm?
> > >
> > > Thank you.
> > >
> > > Scott Herod
> > > herod++at++rtset.com
> -----------------------------------------------------------------------
> List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com
-- For Performer+OpenGL tutorials http://www.dorbie.com/ My comment on the abuse of Jon Johanson's rights; After giving up raiding their neighboring countries the Norse men have taken to raiding 15 year old kids in their bedrooms. Very sad.
This archive was generated by hypermail 2b29 : Wed Mar 01 2000 - 13:39:51 PST