Quellcode durchsuchen

Fixing issues caused by the new uniform buffer reorganization

BearishSun vor 9 Jahren
Ursprung
Commit
f40c72614e

+ 1 - 1
Data/Raw/Editor/Includes/SolidGizmo.bslinc

@@ -66,7 +66,7 @@ Technique : base("SolidGizmo") =
 				mat4 	gMatViewProj;
 				mat4 	gMatViewProj;
 				vec4	gViewDir;
 				vec4	gViewDir;
 			};
 			};
-		}
+		};
 	
 	
 		Vertex =
 		Vertex =
 		{
 		{

+ 0 - 2
Data/Raw/Editor/Shaders/GizmoPickingAlpha.bsl

@@ -31,8 +31,6 @@ Technique =
 		
 		
 		Vertex =
 		Vertex =
 		{
 		{
-			float4x4 gMatViewProj;
-
 			void main(
 			void main(
 				in float3 inPos : POSITION,
 				in float3 inPos : POSITION,
 				in float2 uv : TEXCOORD0,
 				in float2 uv : TEXCOORD0,

+ 2 - 2
Source/BansheeEditor/Source/BsHandleDrawManager.cpp

@@ -267,8 +267,6 @@ namespace bs
 		if (camera != nullptr)
 		if (camera != nullptr)
 		{
 		{
 			UINT32 idx = (UINT32)mQueuedData.size();
 			UINT32 idx = (UINT32)mQueuedData.size();
-			mQueuedData.push_back({ camera, meshes });
-
 			activeRenderer->registerRenderCallback(camera.get(), 20, std::bind(&HandleDrawManagerCore::render, this, idx));
 			activeRenderer->registerRenderCallback(camera.get(), 20, std::bind(&HandleDrawManagerCore::render, this, idx));
 
 
 			for(auto& entry : meshes)
 			for(auto& entry : meshes)
@@ -299,6 +297,8 @@ namespace bs
 
 
 				mTypeCounters[typeIdx]++;
 				mTypeCounters[typeIdx]++;
 			}
 			}
+
+			mQueuedData.push_back({ camera, meshes });
 		}
 		}
 	}
 	}
 
 

+ 2 - 4
Source/BansheeEditor/Source/BsScenePicking.cpp

@@ -122,8 +122,6 @@ namespace bs
 			Matrix4 worldTransform = so->getWorldTfrm();
 			Matrix4 worldTransform = so->getWorldTfrm();
 			worldBounds.transformAffine(worldTransform);
 			worldBounds.transformAffine(worldTransform);
 
 
-			// TODO - I could limit the frustum to the visible area we're rendering for a speed boost
-			// but this is unlikely to be a performance bottleneck
 			const ConvexVolume& frustum = cam->getWorldFrustum();
 			const ConvexVolume& frustum = cam->getWorldFrustum();
 			if (frustum.intersects(worldBounds.getSphere()))
 			if (frustum.intersects(worldBounds.getSphere()))
 			{
 			{
@@ -307,7 +305,7 @@ namespace bs
 		for (auto& renderable : renderables)
 		for (auto& renderable : renderables)
 		{
 		{
 			UINT32 typeIdx;
 			UINT32 typeIdx;
-			if (renderable.alpha)
+			if (!renderable.alpha)
 				typeIdx = 0;
 				typeIdx = 0;
 			else
 			else
 				typeIdx = 3;
 				typeIdx = 3;
@@ -352,7 +350,7 @@ namespace bs
 		for (auto& renderable : renderables)
 		for (auto& renderable : renderables)
 		{
 		{
 			UINT32 typeIdx;
 			UINT32 typeIdx;
-			if (renderable.alpha)
+			if (!renderable.alpha)
 				typeIdx = 0;
 				typeIdx = 0;
 			else
 			else
 				typeIdx = 3;
 				typeIdx = 3;