Re: Problem rendering smoke plume

New Message Reply Date view Thread view Subject view Author view

Sharon Clay (src++at++rose.asd.sgi.com)
Thu, 16 May 1996 18:34:15 -0700


+>---- On May 16, 5:02pm, Henrik Lind wrote:
> Subject: Problem rendering smoke plume
->I am having difficulty rendering a smoke plume, composed of several
->semi-transparent textured polygons. The problem appears to be related
->to coplanarity based on viewing angle. I realize one can't avoid
->coplanarity, but I know it is possible to have a smoke plume look
->correct.
->
->At the coplanar condition, there is flashing, presumably between the
->coplanar polygons, until one is sufficiently separated from the other.
->I have verified that the polygons are correctly sorted for rendering
->back-to-front. The Performer transparency tokens I am using are
->PFTR_ON, PFTR_HIGH_QUALITY (we have an RE2), and PFTR_NO_OCCLUDE.

This should work - the PFTR_HIGH_QUALITY will enable
blending and the PFTR_NO_OCCLUDE will keep us from writing the
zvalues that can potentially cause the coplanar fighting you
complain about.

->What I wanted to do was to try the GL blendfunction() with
->arguments BF_SA and BF_MSA, but this is not possible with the
->PFTR_HIGH_QUALITY token, which is a must for us.

PFTR_HIGH_QUALITY does PFTR_BLEND_ALPHA which will
do blendfunction(BF_SA, BF_MSA) when the pfGeoState is applied.

If you want yet a different blend function, you can put it in
a pre-draw function for the pfGeoState via pfGStateFuncs().

You might also want to use pfAlphaFunc to prevent pixels of very
low alpha values from being written - just to help speed things up
a bit.

src.

-- 
-----{-----{---++at++   -----{----{---++at++   -----{----{---++at++   -----{----{---++at++
Sharon Rose Clay (Fischler) - Silicon Graphics, Advanced Systems Dev.
src++at++sgi.com  (415) 933 - 1002  FAX: (415) 965 - 2658  MS 8U-590
-----{-----{---++at++   -----{----{---++at++   -----{----{---++at++   -----{----{---++at++

New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:52:54 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.