From: Alexandre Naaman (naaman++at++laplace.engr.sgi.com)
Date: 07/29/2003 14:22:23
> I have a performer application which uses multiple texture units. The
> appliaction works fine on nVidia based systems but I had a problem on an
> ATI 8500. The card itself supports multiple texture units but Performer
> prints the following notification message :
>
> PF Warning: Only 1 multitexture units are available on this hardware.
> PF Warning: pfGeoState::setMultiAttr - multitexture unit # 1 not
> available. ||
>
> And textures on unit #1 are not rendered, base textures render fine. Any
> hints ?
>
k
Hi Devrim,
A change was made in the latest version of Performer (3.0.2) to ensure
that the max # of textures is correctly set and so that
pfGeoState::setMultiAttr() would work correctly on win32. Previously we
would just do a glGet() on GL_MAX_TEXTURE_UNITS_ARB to determine this
value. Now we check to ensure that this value is not larger than
PF_MAX_TEXTURES (4). Not doing this caused us to index too far into an
array which was only of length == 4 and ... boom.
So, to make a long story short, on both windows & linux I would upgrade
to 3.0.2 if you're having trouble with using newer graphics cards and
pfGeoState::setMultiAttr().
Cheers,
Alex.
PS: I'm assuming you're using a version of Pf pre 3.0.2, if that's not the
case then I would suggest setting the PFNFYLEVEL to 7 and running things
once more to see if something else is causing the problem.
-- Alexandre Naaman - naaman++at++sgi.com
This archive was generated by hypermail 2b29 : Tue Jul 29 2003 - 14:22:32 PDT