]> git.mxchange.org Git - simgear.git/commitdiff
No longer change the material properties for ac models on the fly.
authorfrohlich <frohlich>
Thu, 19 Mar 2009 07:58:32 +0000 (07:58 +0000)
committerTim Moore <timoore@redhat.com>
Mon, 30 Mar 2009 16:42:45 +0000 (18:42 +0200)
Modified Files:
simgear/scene/model/ModelRegistry.cxx

simgear/scene/model/ModelRegistry.cxx

index 0ebdf06f6550cfe23833855c67c18c4624578955..2e92c836ee6364acea6c555831160f0ff1544e4e 100644 (file)
@@ -297,18 +297,6 @@ public:
   }
 };
 
-class SGAcMaterialCrippleVisitor : public SGStateAttributeVisitor {
-public:
-  virtual void apply(StateSet::RefAttributePair& refAttr)
-  {
-    Material* material;
-    material = dynamic_cast<Material*>(refAttr.first.get());
-    if (!material)
-      return;
-    material->setColorMode(Material::AMBIENT_AND_DIFFUSE);
-  }
-};
-
 } // namespace
 
 Node* DefaultProcessPolicy::process(Node* node, const string& filename,
@@ -592,16 +580,7 @@ struct ACProcessPolicy {
         transform->setDataVariance(Object::STATIC);
         transform->setMatrix(m);
         transform->addChild(node);
-        // Ok, this step is questionable.
-        // It is there to have the same visual appearance of ac objects for the
-        // first cut. Osg's ac3d loader will correctly set materials from the
-        // ac file. But the old plib loader used GL_AMBIENT_AND_DIFFUSE for the
-        // materials that in effect igored the ambient part specified in the
-        // file. We emulate that for the first cut here by changing all
-        // ac models here. But in the long term we should use the
-        // unchanged model and fix the input files instead ...
-        SGAcMaterialCrippleVisitor matCriple;
-        root->accept(matCriple);
+
         return root;
     }
 };