Pārlūkot izejas kodu

Fixing bug in tracer

Panagiotis Christopoulos Charitos 9 gadi atpakaļ
vecāks
revīzija
d91162a7a9
2 mainītis faili ar 18 papildinājumiem un 25 dzēšanām
  1. 0 4
      shaders/Pps.frag.glsl
  2. 18 21
      src/renderer/Ms.cpp

+ 0 - 4
shaders/Pps.frag.glsl

@@ -119,10 +119,6 @@ void main()
 
 	out_color = tonemap(out_color, u_luminance.averageLuminancePad3.x, 0.0);
 
-#if 0
-	out_color += fog(in_uv);
-#endif
-
 #if BLOOM_ENABLED
 	vec3 bloom = textureLod(u_ppsBloomLfRt, in_uv, 0.0).rgb;
 	out_color += bloom;

+ 18 - 21
src/renderer/Ms.cpp

@@ -130,31 +130,28 @@ Error Ms::buildCommandBuffers(
 	ThreadPool::Task::choseStartEnd(
 		threadId, threadCount, problemSize, start, end);
 
-	if(start == end)
+	if(start != end)
 	{
-		// Early exit
-		return ErrorCode::NONE;
+		// Create the command buffer and set some state
+		CommandBufferInitInfo cinf;
+		cinf.m_secondLevel = true;
+		cinf.m_framebuffer = m_fb;
+		CommandBufferPtr cmdb =
+			m_r->getGrManager().newInstance<CommandBuffer>(cinf);
+		ctx.m_ms.m_commandBuffers[threadId] = cmdb;
+		cmdb->setViewport(0, 0, m_r->getWidth(), m_r->getHeight());
+		cmdb->setPolygonOffset(0.0, 0.0);
+
+		// Start drawing
+		ANKI_CHECK(m_r->getSceneDrawer().drawRange(Pass::MS_FS,
+			*ctx.m_frustumComponent,
+			cmdb,
+			vis.getBegin(VisibilityGroupType::RENDERABLES_MS) + start,
+			vis.getBegin(VisibilityGroupType::RENDERABLES_MS) + end));
 	}
 
-	// Create the command buffer and set some state
-	CommandBufferInitInfo cinf;
-	cinf.m_secondLevel = true;
-	cinf.m_framebuffer = m_fb;
-	CommandBufferPtr cmdb =
-		m_r->getGrManager().newInstance<CommandBuffer>(cinf);
-	ctx.m_ms.m_commandBuffers[threadId] = cmdb;
-	cmdb->setViewport(0, 0, m_r->getWidth(), m_r->getHeight());
-	cmdb->setPolygonOffset(0.0, 0.0);
-
-	// Start drawing
-	Error err = m_r->getSceneDrawer().drawRange(Pass::MS_FS,
-		*ctx.m_frustumComponent,
-		cmdb,
-		vis.getBegin(VisibilityGroupType::RENDERABLES_MS) + start,
-		vis.getBegin(VisibilityGroupType::RENDERABLES_MS) + end);
-
 	ANKI_TRACE_STOP_EVENT(RENDER_MS);
-	return err;
+	return ErrorCode::NONE;
 }
 
 //==============================================================================