Steve Baker (sbaker++at++link.com)
Fri, 20 Nov 1998 09:18:47 -0600 (CST)
> 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
This archive was generated by hypermail 2.0b2 on Fri Nov 20 1998 - 07:19:51 PST