From 96c459ca2f52cf2c5bec269d0f30e01d21bc916b Mon Sep 17 00:00:00 2001 From: quou Date: Sun, 29 Dec 2024 14:49:07 +1100 Subject: add depth prepass --- model.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'model.cpp') diff --git a/model.cpp b/model.cpp index e8be727..c3d01ac 100644 --- a/model.cpp +++ b/model.cpp @@ -165,6 +165,7 @@ void Model::render( cbuffers[i].view_projection = view_projection; cbuffers[i].model = transform * meshes[i].world; } + bool depth_only = !pass.colour_count; dev->unmap_buffer(mvp); for (i = 0; i < c; i++) { Mesh& mesh = meshes[i]; @@ -187,7 +188,10 @@ void Model::render( draw.first_vertex = mesh.offset; draw.vertex_offset = mesh.vbo_offset; pb.begin(); - pb.depth(true, true, Depth_Mode::less); + if (depth_only) + pb.depth(true, true, Depth_Mode::less); + else + pb.depth(true, false, Depth_Mode::equal); pb.shader(mesh.shader); pb.cbuffer( mesh.mvp_binding, -- cgit v1.2.3-54-g00ecf