diff --git a/SHADE_CSharp/premake5.lua b/SHADE_CSharp/premake5.lua
index 39ef8281..8844b84c 100644
--- a/SHADE_CSharp/premake5.lua
+++ b/SHADE_CSharp/premake5.lua
@@ -50,6 +50,9 @@ project "SHADE_CSharp"
function platformsElementCS(cfg)
_p(2,'x64')
end
+ function configElementCS(cfg)
+ _p(2,'Debug;Release;Publish')
+ end
function docsElementCS(cfg)
_p(2,'true')
end
@@ -59,6 +62,6 @@ project "SHADE_CSharp"
premake.override(premake.vstudio.cs2005.elements, "projectProperties", function (oldfn, cfg)
return table.join(oldfn(cfg), {
- platformsElementCS, docsElementCS, docsLocationElementCS,
+ platformsElementCS, configElementCS, docsElementCS, docsLocationElementCS,
})
end)
\ No newline at end of file
diff --git a/SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.cpp b/SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.cpp
index 2a2b66d4..fbfe5caf 100644
--- a/SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.cpp
+++ b/SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.cpp
@@ -27,6 +27,7 @@ of DigiPen Institute of Technology is prohibited.
#include "Math/Transform/SHTransformComponent.h"
#include "Graphics/MiddleEnd/GlobalData/SHGraphicsGlobalData.h"
#include "Graphics/Descriptors/SHVkDescriptorPool.h"
+#include "Scene/SHSceneManager.h"
namespace SHADE
{
@@ -49,7 +50,7 @@ namespace SHADE
, referencedMatInstances { std::move(rhs.referencedMatInstances) }
, matBufferDirty { std::move(rhs.matBufferDirty) }
, subBatches { std::move(rhs.subBatches) }
- , drawData { std::move(drawData) }
+ , drawData { std::move(rhs.drawData) }
, transformData { std::move(rhs.transformData) }
, instancedIntegerData { std::move(rhs.instancedIntegerData) }
, matPropsData { std::move(rhs.matPropsData) }
@@ -80,7 +81,7 @@ namespace SHADE
referencedMatInstances = std::move(rhs.referencedMatInstances);
matBufferDirty = std::move(rhs.matBufferDirty) ;
subBatches = std::move(rhs.subBatches) ;
- drawData = std::move(drawData) ;
+ drawData = std::move(rhs.drawData) ;
transformData = std::move(rhs.transformData) ;
instancedIntegerData = std::move(rhs.instancedIntegerData) ;
matPropsData = std::move(rhs.matPropsData) ;
@@ -302,7 +303,22 @@ namespace SHADE
auto transform = SHComponentManager::GetComponent(rendId);
if (transform)
{
- transformData.emplace_back(transform->GetTRS());
+ if (SHSceneManager::CheckNodeAndComponentsActive(rendId))
+ {
+ transformData.emplace_back(transform->GetTRS());
+ }
+ else
+ {
+ // Should be deactivated
+ static const SHMatrix ZERO_MTX =
+ {
+ 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f
+ };
+ transformData.emplace_back(ZERO_MTX);
+ }
}
else
{
@@ -424,15 +440,30 @@ namespace SHADE
for (auto rendId : subBatch.Renderables)
{
// Transform
- auto transform = SHComponentManager::GetComponent_s(rendId);
- if (!transform)
+ auto transform = SHComponentManager::GetComponent_s(rendId);
+ if (transform)
{
- SHLOG_WARNING("[SHBatch] Entity contianing a SHRenderable with no SHTransformComponent found!");
- transformData.emplace_back();
+ if (SHSceneManager::CheckNodeAndComponentsActive(rendId))
+ {
+ transformData.emplace_back(transform->GetTRS());
+ }
+ else
+ {
+ // Should be deactivated
+ static const SHMatrix ZERO_MTX =
+ {
+ 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f
+ };
+ transformData.emplace_back(ZERO_MTX);
+ }
}
else
{
- transformData.emplace_back(transform->GetTRS());
+ SHLOG_WARNING("[SHBatch] Entity contianing a SHRenderable with no SHTransformComponent found!");
+ transformData.emplace_back();
}
const SHRenderable* renderable = SHComponentManager::GetComponent(rendId);