Re: pfFog to glFog conversion

New Message Reply Date view Thread view Subject view Author view

Steve Baker (sbaker++at++link.com)
Fri, 20 Nov 1998 09:18:47 -0600 (CST)


On Thu, 19 Nov 1998, Jean-Luc Dery wrote:

> Hi pfFriends,
>
> I'm trying to figger out how Performer converts fog parameters to OpenGL. When
> setting pfFog to one of the following types: PFFOG_VTX_EXP, PFFOG_VTX_EXP2,
> PFFOG_PIX_EXP, PFFOG_PIX_EXP2, it should convert the opaque range and type
> settings to an equivalent density value in order to set OpenGL density
> parameter.
>
> It should look something like that:
>
> PFFOG_VTX_EXP and PFFOG_PIX_EXP
> -> density = log( something ) / opaque_range;
>
> PFFOG_VTX_EXP2 and PFFOG_PIX_EXP2
> -> density = sqrt( log( something ) ) / opaque_range;
>
> And set OpenGL glFogf( GL_FOG_DENSITY, density ) which is supposed to be used
> for these fog types.
>
> Does anybody know what the "something" is and the logic behing it.
>
> Thanks in advance for any help.

Please copy me on any good answers you get - I'm trying to match my sky model's
fog (drawn 'beyond far clip' using OpenGL) with that of Performer - and it's
a pain to do for PFFOG_PIX_EXP and PFFOG_PIX_EXP2.

[
 N.B For those who don't understand the issue:

 * OpenGL uses a 'range' - but only for linear fog - a 'density' term
   is used for Exp and Exp2.

 * Performer uses 'range' all the time - so it must have some math that
   translates 'range' into 'density' for OpenGL's benefit.

 * It's more complicated than that - but you get the idea.
]

Thanks...

Steve Baker (817)619-2657 (Vox/Vox-Mail)
Raytheon Systems Inc. (817)619-2466 (Fax)
Work: SBaker++at++link.com http://www.hti.com
Home: SJBaker1++at++airmail.net http://web2.airmail.net/sjbaker1


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Fri Nov 20 1998 - 07:19:51 PST

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