[Orxonox-commit 4733] r9402 - code/branches/shaders/src/orxonox/graphics
davidsa at orxonox.net
davidsa at orxonox.net
Tue Oct 16 15:32:20 CEST 2012
Author: davidsa
Date: 2012-10-16 15:32:20 +0200 (Tue, 16 Oct 2012)
New Revision: 9402
Modified:
code/branches/shaders/src/orxonox/graphics/Model.cc
code/branches/shaders/src/orxonox/graphics/Model.h
Log:
Orxonox::Model: added XMLPort 'material' to easily attach a material/shader to a Model
Modified: code/branches/shaders/src/orxonox/graphics/Model.cc
===================================================================
--- code/branches/shaders/src/orxonox/graphics/Model.cc 2012-10-16 13:30:20 UTC (rev 9401)
+++ code/branches/shaders/src/orxonox/graphics/Model.cc 2012-10-16 13:32:20 UTC (rev 9402)
@@ -70,6 +70,7 @@
XMLPortParam(Model, "lodLevel", setLodLevel, getLodLevel, xmlelement, mode);
XMLPortParam(Model, "mesh", setMeshSource, getMeshSource, xmlelement, mode);
+ XMLPortParam(Model, "material", setMaterial, getMaterial, xmlelement, mode);
XMLPortParam(Model, "shadow", setCastShadows, getCastShadows, xmlelement, mode).defaultValues(true);
}
@@ -110,6 +111,11 @@
}
}
+ void Model::changedMaterial()
+ {
+ this->mesh_.setMaterial(this->materialName_);
+ }
+
void Model::changedShadows()
{
this->mesh_.setCastShadows(this->bCastShadows_);
Modified: code/branches/shaders/src/orxonox/graphics/Model.h
===================================================================
--- code/branches/shaders/src/orxonox/graphics/Model.h 2012-10-16 13:30:20 UTC (rev 9401)
+++ code/branches/shaders/src/orxonox/graphics/Model.h 2012-10-16 13:32:20 UTC (rev 9402)
@@ -62,9 +62,15 @@
inline bool getCastShadows() const
{ return this->bCastShadows_; }
+ inline void setMaterial(const std::string& materialname)
+ { this->materialName_ = materialname; this->changedMaterial(); }
+ inline const std::string& getMaterial() const
+ { return this->materialName_; }
+
protected:
void registerVariables();
void changedMesh();
+ void changedMaterial();
void changedShadows();
//LoD
@@ -79,6 +85,7 @@
std::string meshSrc_;
Mesh mesh_;
bool bCastShadows_;
+ std::string materialName_;
//LoD
bool bGlobalEnableLod_;
More information about the Orxonox-commit
mailing list