Browse Source

Removed a pre-condition that would prevent using a an empty model handle as an empty model.

David Piuva 5 years ago
parent
commit
e0c5c72c8d
1 changed files with 9 additions and 5 deletions
  1. 9 5
      Source/DFPSR/api/modelAPI.cpp

+ 9 - 5
Source/DFPSR/api/modelAPI.cpp

@@ -193,12 +193,14 @@ void model_setLightMapByName(Model& model, int partIndex, ResourcePool &pool, co
 
 
 // Single-threaded rendering for the simple cases where you just want it to work
 // Single-threaded rendering for the simple cases where you just want it to work
 void model_render(const Model& model, const Transform3D &modelToWorldTransform, ImageRgbaU8& colorBuffer, ImageF32& depthBuffer, const Camera &camera) {
 void model_render(const Model& model, const Transform3D &modelToWorldTransform, ImageRgbaU8& colorBuffer, ImageF32& depthBuffer, const Camera &camera) {
-	MUST_EXIST(model,model_render);
-	model->render((CommandQueue*)nullptr, colorBuffer, depthBuffer, modelToWorldTransform, camera);
+	if (model.get() != nullptr) {
+		model->render((CommandQueue*)nullptr, colorBuffer, depthBuffer, modelToWorldTransform, camera);
+	}
 }
 }
 void model_renderDepth(const Model& model, const Transform3D &modelToWorldTransform, ImageF32& depthBuffer, const Camera &camera) {
 void model_renderDepth(const Model& model, const Transform3D &modelToWorldTransform, ImageF32& depthBuffer, const Camera &camera) {
-	MUST_EXIST(model,model_renderDepth);
-	model->renderDepth(depthBuffer, modelToWorldTransform, camera);
+	if (model.get() != nullptr) {
+		model->renderDepth(depthBuffer, modelToWorldTransform, camera);
+	}
 }
 }
 
 
 // Context for rendering multiple models at the same time for improved speed
 // Context for rendering multiple models at the same time for improved speed
@@ -262,7 +264,9 @@ void renderer_begin(Renderer& renderer, ImageRgbaU8& colorBuffer, ImageF32& dept
 //         Enabling vertex light, reflection maps and bone animation
 //         Enabling vertex light, reflection maps and bone animation
 void renderer_giveTask(Renderer& renderer, const Model& model, const Transform3D &modelToWorldTransform, const Camera &camera) {
 void renderer_giveTask(Renderer& renderer, const Model& model, const Transform3D &modelToWorldTransform, const Camera &camera) {
 	MUST_EXIST(renderer,renderer_giveTask);
 	MUST_EXIST(renderer,renderer_giveTask);
-	renderer->giveTask(model, modelToWorldTransform, camera);
+	if (model.get() != nullptr) {
+		renderer->giveTask(model, modelToWorldTransform, camera);
+	}
 }
 }
 
 
 void renderer_end(Renderer& renderer) {
 void renderer_end(Renderer& renderer) {