|
From: Frank C <li...@si...> - 2004-08-05 17:50:38
|
I've sent this patch to the list twice and haven't gotten a shred of
interest from anyone with CVS access...
The Bug:
QD3D blends transparency colour on textured objects regardless of the
illumination setting, while Quesa only blends transparency colour when
the illumination state is null. This behaviour was initially overlooked
when fixing bug #895106.
The Fix:
In IRGeometry.c, IRGeometry_Generate_Vertex_State, replace:
-----
if (instanceData->stateTextureActive &&
instanceData->stateViewIllumination != kQ3IlluminationTypeNULL)
{
colourDiffuse = &white;
colourTransparency = &white;
}
else
{
if (colourDiffuse == NULL || instanceData->stateGeomHilightState ==
kQ3On)
colourDiffuse = instanceData->stateGeomDiffuseColour;
if (colourTransparency == NULL &&
(instanceData->stateGeomTransparencyColour->r != 1.0f ||
instanceData->stateGeomTransparencyColour->g != 1.0f ||
instanceData->stateGeomTransparencyColour->b != 1.0f))
colourTransparency = instanceData->stateGeomTransparencyColour;
}
-----
with:
-----
if (instanceData->stateTextureActive &&
instanceData->stateViewIllumination != kQ3IlluminationTypeNULL)
colourDiffuse = &white;
else
{
if (colourDiffuse == NULL || instanceData->stateGeomHilightState ==
kQ3On)
colourDiffuse = instanceData->stateGeomDiffuseColour;
}
if (colourTransparency == NULL &&
(instanceData->stateGeomTransparencyColour->r != 1.0f ||
instanceData->stateGeomTransparencyColour->g != 1.0f ||
instanceData->stateGeomTransparencyColour->b != 1.0f))
colourTransparency = instanceData->stateGeomTransparencyColour;
-----
If someone with CVS access could review/commit this change it would be
appreciated!
Thanks,
Frank.
|