Parcourir la source

Theora texture for cloned material fix

When a TSShapeInstance makes a copy of its own materials through
cloneMaterialList() (such as done with client side ShapeBase objects),
the reference to a named diffuse render target was being lost.  This
affected using a TheoraTextureObject on a ShapeBase derived object
(StaticShape, etc.).
DavidWyand-GG il y a 12 ans
Parent
commit
e4df92a7bc
1 fichiers modifiés avec 2 ajouts et 0 suppressions
  1. 2 0
      Engine/source/ts/tsShapeInstance.cpp

+ 2 - 0
Engine/source/ts/tsShapeInstance.cpp

@@ -259,8 +259,10 @@ void TSShapeInstance::cloneMaterialList( const FeatureSet *features )
    if ( mOwnMaterialList )
    if ( mOwnMaterialList )
       return;
       return;
 
 
+   Material::sAllowTextureTargetAssignment = true;
    mMaterialList = new TSMaterialList(mMaterialList);
    mMaterialList = new TSMaterialList(mMaterialList);
    initMaterialList( features );
    initMaterialList( features );
+   Material::sAllowTextureTargetAssignment = false;
 
 
    mOwnMaterialList = true;
    mOwnMaterialList = true;
 }
 }