Skip to content
This repository was archived by the owner on Mar 22, 2025. It is now read-only.

Commit 0a31aa8

Browse files
committed
Added depth testing.
1 parent 733f68a commit 0a31aa8

File tree

22 files changed

+86
-25
lines changed

22 files changed

+86
-25
lines changed

backends/directx11/src/null-render-backend-directx11/shaders/color/color.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ namespace ntl::render::directx11 {
55
if(empty()) return;
66
c_shader::use();
77

8-
color_vertex_shader_object.set_constant({ backend::renderer->get_matrix(), backend::renderer->get_translation() });
8+
color_vertex_shader_object.set_constant({ backend::renderer->get_matrix(), backend::renderer->get_translation(), backend::renderer->get_depth() });
99
}
1010
}

backends/directx11/src/null-render-backend-directx11/shaders/color/compiled-object.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ namespace ntl::render::directx11 {
3131
public:
3232
matrix4x4_t matrix{ };
3333
vec2_t<float> translation{ };
34+
float depth{ };
3435
};
3536
c_constant_buffer<constant_buffer_t> constant_buffer{ };
3637

backends/directx11/src/null-render-backend-directx11/shaders/color/hlsl/color-vs.hlsl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
cbuffer constant_buffer : register(b0) {
22
matrix projection_matrix;
33
float2 translation;
4+
float depth;
45
};
56

67
struct vs_input_t {
@@ -17,8 +18,7 @@ struct ps_input_t {
1718

1819
ps_input_t main(vs_input_t input) {
1920
ps_input_t output;
20-
output.position = mul(projection_matrix, float4(input.position + translation, 0.f, 1.f));
21-
21+
output.position = mul(projection_matrix, float4(input.position + translation, depth, 1.f));
2222
output.color = input.color / 255.f;
2323
output.color.rgb *= output.color.a;
2424

backends/directx11/src/null-render-backend-directx11/shaders/linear-gradient/linear-gradient.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ namespace ntl::render::directx11 {
55
if(empty()) return;
66
c_shader::use();
77

8-
color_vertex_shader_object.set_constant({ backend::renderer->get_matrix(), backend::renderer->get_translation() });
8+
color_vertex_shader_object.set_constant({ backend::renderer->get_matrix(), backend::renderer->get_translation(), backend::renderer->get_depth() });
99
}
1010

1111
void c_linear_gradient_shader::set_constants(const constants_t& constants) {

backends/directx11/src/null-render-backend-directx11/shaders/quad-gradient/quad-gradient.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ namespace ntl::render::directx11 {
55
if(empty()) return;
66
c_shader::use();
77

8-
color_vertex_shader_object.set_constant({ backend::renderer->get_matrix(), backend::renderer->get_translation() });
8+
color_vertex_shader_object.set_constant({ backend::renderer->get_matrix(), backend::renderer->get_translation(), backend::renderer->get_depth() });
99
}
1010

1111
void c_quad_gradient_shader::set_constants(const constants_t& constants) {

backends/directx11/src/null-render-backend-directx11/shaders/radial-gradient/radial-gradient.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ namespace ntl::render::directx11 {
55
if(empty()) return;
66
c_shader::use();
77

8-
color_vertex_shader_object.set_constant({ backend::renderer->get_matrix(), backend::renderer->get_translation() });
8+
color_vertex_shader_object.set_constant({ backend::renderer->get_matrix(), backend::renderer->get_translation(), backend::renderer->get_depth() });
99
}
1010

1111
void c_radial_gradient_shader::set_constants(const constants_t& constants) {

backends/directx11/src/null-render-backend-directx11/shaders/sdf/sdf.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ namespace ntl::render::directx11 {
1616
if(empty()) return;
1717
c_shader::use();
1818

19-
color_vertex_shader_object.set_constant({ backend::renderer->get_matrix(), backend::renderer->get_translation() });
19+
color_vertex_shader_object.set_constant({ backend::renderer->get_matrix(), backend::renderer->get_translation(), backend::renderer->get_depth() });
2020
}
2121

2222
public:

backends/directx11/src/null-render-backend-directx11/shaders/texture/texture.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ namespace ntl::render::directx11 {
55
if(empty()) return;
66
c_shader::use();
77

8-
color_vertex_shader_object.set_constant({ backend::renderer->get_matrix(), backend::renderer->get_translation() });
8+
color_vertex_shader_object.set_constant({ backend::renderer->get_matrix(), backend::renderer->get_translation(), backend::renderer->get_depth() });
99
}
1010
}

backends/directx11/src/null-render-backend-directx11/state-pipeline/stencil-state/stencil-state.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ namespace ntl::render::directx11 {
1616

1717
public:
1818
c_stencil_state() : i_state_machine(D3D11_DEPTH_STENCIL_DESC{
19-
.DepthEnable{ false },
19+
.DepthEnable{ true },
2020
.DepthWriteMask{ D3D11_DEPTH_WRITE_MASK_ALL },
21-
.DepthFunc{ D3D11_COMPARISON_LESS },
21+
.DepthFunc{ D3D11_COMPARISON_LESS_EQUAL },
2222
.StencilReadMask{ D3D11_DEFAULT_STENCIL_READ_MASK },
2323
.StencilWriteMask{ D3D11_DEFAULT_STENCIL_WRITE_MASK }
2424
}) { }

backends/directx11/src/null-render-backend-directx11/stencil-buffer/stencil-buffer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ namespace ntl::render::directx11 {
2929
.ViewDimension{ shared::msaa_quality > 1 ? D3D11_DSV_DIMENSION_TEXTURE2DMS : D3D11_DSV_DIMENSION_TEXTURE2D },
3030
};
3131

32-
if(auto result = shared.device->CreateDepthStencilView(texture, nullptr, &buffer); FAILED(result)) {
32+
if(auto result = shared.device->CreateDepthStencilView(texture, &depth_stencil_view_desc, &buffer); FAILED(result)) {
3333
sdk::logger(sdk::e_log_type::error, "CreateDepthStencilView failed, return code {}.", result);
3434
return;
3535
}

0 commit comments

Comments
 (0)