Forráskód Böngészése

Fixed textures binding in entity and material loading in new renderer

Ivan Safrin 10 éve
szülő
commit
d1cdf5acd6

BIN
lib/osx/libPolycore.a


+ 5 - 4
src/core/PolyEntity.cpp

@@ -516,14 +516,15 @@ void Entity::transformAndRender(GPUDrawBuffer *buffer) {
 		renderer->setScissorBox(finalScissorBox);
 	}
      */
+    
+    drawCall.modelMatrix.identity();
+    drawCall.modelMatrix.Translate(-anchorPoint.x * bBox.x * 0.5, -anchorPoint.y * bBox.y * 0.5 * yAdjust, -anchorPoint.z * bBox.z * 0.5);
 		
 	if(ignoreParentMatrix) {
-        drawCall.modelMatrix = transformMatrix;
+        drawCall.modelMatrix = drawCall.modelMatrix * transformMatrix;
     } else {
-        drawCall.modelMatrix = getConcatenatedMatrix();
+        drawCall.modelMatrix = drawCall.modelMatrix * getConcatenatedMatrix();
     }
-
-    drawCall.modelMatrix.Translate(-anchorPoint.x * bBox.x * 0.5, -anchorPoint.y * bBox.y * 0.5 * yAdjust, -anchorPoint.z * bBox.z * 0.5);
     
     /*
 	if(billboardMode) {

+ 1 - 3
src/core/PolyMaterialManager.cpp

@@ -598,9 +598,7 @@ Material *MaterialManager::materialFromXMLNode(ResourcePool *resourcePool, TiXml
 									tname =  pChild2Element->Attribute("name");
 								}
 								Texture *texture = CoreServices::getInstance()->getMaterialManager()->createTextureFromFile(pChild2Element->GetText());
-                                    // RENDERER_TODO
-								//newShaderBinding->addTexture(tname,texture);
-//								newShaderBinding->addTexture(tname, (Texture*)CoreServices::getInstance()->getResourceManager()->getResource(Resource::RESOURCE_TEXTURE, pChild2Element->GetText()));
+                                newShaderBinding->setTextureForParam(tname, texture);
 							}
 							
 							if(strcmp(pChild2->Value(), "cubemap") == 0){

+ 1 - 4
src/core/PolySceneEntityInstance.cpp

@@ -212,10 +212,7 @@ void SceneEntityInstance::applySceneMesh(ObjectEntry *entry, SceneMesh *sceneMes
                                             }
                                              */
                                         } else {
-                                             // RENDERER_TODO
-                                            /*
-                                            sceneMesh->getLocalShaderOptions()->addTexture(nameEntry->stringVal, CoreServices::getInstance()->getMaterialManager()->createTextureFromFile(textureEntry->stringVal));
-                                             */
+                                            sceneMesh->getLocalShaderOptions()->setTextureForParam(nameEntry->stringVal, CoreServices::getInstance()->getMaterialManager()->createTextureFromFile(textureEntry->stringVal));
                                         }
                                     }
                                 }