Make DebugDraw render lines with unlit PS

This commit is contained in:
Wiktor Kocielski
2023-05-05 16:29:12 +03:00
parent 73ff053470
commit 42a9eaf72e
2 changed files with 17 additions and 2 deletions

View File

@@ -632,9 +632,10 @@ void DebugDrawService::Update()
desc.VS = shader->GetVS("VS"); desc.VS = shader->GetVS("VS");
// Default // Default
desc.PS = shader->GetPS("PS"); desc.PS = shader->GetPS("PSUnlit");
desc.PrimitiveTopologyType = PrimitiveTopologyType::Line; desc.PrimitiveTopologyType = PrimitiveTopologyType::Line;
failed |= DebugDrawPsLinesDefault.Create(desc); failed |= DebugDrawPsLinesDefault.Create(desc);
desc.PS = shader->GetPS("PS");
desc.PrimitiveTopologyType = PrimitiveTopologyType::Triangle; desc.PrimitiveTopologyType = PrimitiveTopologyType::Triangle;
failed |= DebugDrawPsTrianglesDefault.Create(desc); failed |= DebugDrawPsTrianglesDefault.Create(desc);
desc.Wireframe = true; desc.Wireframe = true;
@@ -642,9 +643,10 @@ void DebugDrawService::Update()
// Depth Test // Depth Test
desc.Wireframe = false; desc.Wireframe = false;
desc.PS = shader->GetPS("PS_DepthTest"); desc.PS = shader->GetPS("PS_DepthTestUnlit");
desc.PrimitiveTopologyType = PrimitiveTopologyType::Line; desc.PrimitiveTopologyType = PrimitiveTopologyType::Line;
failed |= DebugDrawPsLinesDepthTest.Create(desc); failed |= DebugDrawPsLinesDepthTest.Create(desc);
desc.PS = shader->GetPS("PS_DepthTest");
desc.PrimitiveTopologyType = PrimitiveTopologyType::Triangle; desc.PrimitiveTopologyType = PrimitiveTopologyType::Triangle;
failed |= DebugDrawPsTrianglesDepthTest.Create(desc); failed |= DebugDrawPsTrianglesDepthTest.Create(desc);
desc.Wireframe = true; desc.Wireframe = true;

View File

@@ -54,9 +54,22 @@ float4 PS(VS2PS input) : SV_Target
return PerformFakeLighting(input.Position, input.Color); return PerformFakeLighting(input.Position, input.Color);
} }
META_PS(true, FEATURE_LEVEL_ES2)
float4 PSUnlit(VS2PS input) : SV_Target
{
return input.Color;
}
META_PS(true, FEATURE_LEVEL_ES2) META_PS(true, FEATURE_LEVEL_ES2)
float4 PS_DepthTest(VS2PS input) : SV_Target float4 PS_DepthTest(VS2PS input) : SV_Target
{ {
PerformDepthTest(input.Position); PerformDepthTest(input.Position);
return PerformFakeLighting(input.Position, input.Color); return PerformFakeLighting(input.Position, input.Color);
} }
META_PS(true, FEATURE_LEVEL_ES2)
float4 PS_DepthTestUnlit(VS2PS input) : SV_Target
{
PerformDepthTest(input.Position);
return input.Color;
}