MCPcopy Create free account
hub / github.com/axmolengine/axmol / clone

Method clone

core/3d/MeshMaterial.cpp:206–230  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

204}
205
206Material* MeshMaterial::clone() const
207{
208 auto material = new MeshMaterial();
209
210 material->_renderState = _renderState;
211
212 for (const auto& technique : _techniques)
213 {
214 auto t = technique->clone();
215 t->setMaterial(material);
216 for (ssize_t i = 0; i < t->getPassCount(); i++)
217 {
218 t->getPassByIndex(i)->setTechnique(t);
219 }
220 material->_techniques.pushBack(t);
221 }
222
223 // current technique
224 auto name = _currentTechnique->getName();
225 material->_currentTechnique = material->getTechniqueByName(name);
226 material->_type = _type;
227 material->autorelease();
228
229 return material;
230}
231
232MeshMaterial* MeshMaterial::createBuiltInMaterial(MaterialType type, bool skinned)
233{

Callers 2

createBuiltInMaterialMethod · 0.45
createWithFilenameMethod · 0.45

Calls 8

getPassCountMethod · 0.80
getPassByIndexMethod · 0.80
pushBackMethod · 0.80
getTechniqueByNameMethod · 0.80
autoreleaseMethod · 0.80
setMaterialMethod · 0.45
setTechniqueMethod · 0.45
getNameMethod · 0.45

Tested by

no test coverage detected