summaryrefslogtreecommitdiff
path: root/src/3d
diff options
context:
space:
mode:
Diffstat (limited to 'src/3d')
-rw-r--r--src/3d/renderer_pipelines.cc6
-rw-r--r--src/3d/visual_debug.cc18
2 files changed, 8 insertions, 16 deletions
diff --git a/src/3d/renderer_pipelines.cc b/src/3d/renderer_pipelines.cc
index 2950a7f..3abc3bd 100644
--- a/src/3d/renderer_pipelines.cc
+++ b/src/3d/renderer_pipelines.cc
@@ -102,6 +102,8 @@ WGPURenderPipeline Renderer3D::create_pipeline_impl(bool use_bvh) {
depth_stencil.format = WGPUTextureFormat_Depth24Plus;
depth_stencil.depthWriteEnabled = WGPUOptionalBool_True;
depth_stencil.depthCompare = WGPUCompareFunction_Less;
+ depth_stencil.stencilFront.compare = WGPUCompareFunction_Always;
+ depth_stencil.stencilBack.compare = WGPUCompareFunction_Always;
WGPUColorTargetState color_target = {};
color_target.format = format_;
@@ -214,6 +216,8 @@ void Renderer3D::create_mesh_pipeline() {
depth_stencil.format = WGPUTextureFormat_Depth24Plus;
depth_stencil.depthWriteEnabled = WGPUOptionalBool_True;
depth_stencil.depthCompare = WGPUCompareFunction_Less;
+ depth_stencil.stencilFront.compare = WGPUCompareFunction_Always;
+ depth_stencil.stencilBack.compare = WGPUCompareFunction_Always;
WGPUColorTargetState color_target = {};
color_target.format = format_;
@@ -305,6 +309,8 @@ void Renderer3D::create_skybox_pipeline() {
depth_stencil.format = WGPUTextureFormat_Depth24Plus;
depth_stencil.depthWriteEnabled = WGPUOptionalBool_False;
depth_stencil.depthCompare = WGPUCompareFunction_Always;
+ depth_stencil.stencilFront.compare = WGPUCompareFunction_Always;
+ depth_stencil.stencilBack.compare = WGPUCompareFunction_Always;
WGPUColorTargetState color_target = {};
color_target.format = format_;
diff --git a/src/3d/visual_debug.cc b/src/3d/visual_debug.cc
index f6796d5..036d6ce 100644
--- a/src/3d/visual_debug.cc
+++ b/src/3d/visual_debug.cc
@@ -68,19 +68,11 @@ void VisualDebug::create_pipeline(WGPUTextureFormat format) {
const char* shader_code =
(const char*)GetAsset(AssetId::ASSET_SHADER_VISUAL_DEBUG, &shader_len);
-#if defined(DEMO_CROSS_COMPILE_WIN32)
- WGPUShaderModuleWGSLDescriptor wgsl_desc = {};
- wgsl_desc.chain.sType = WGPUSType_ShaderModuleWGSLDescriptor;
- wgsl_desc.code = shader_code;
- WGPUShaderModuleDescriptor shader_desc = {};
- shader_desc.nextInChain = (const WGPUChainedStruct*)&wgsl_desc.chain;
-#else
WGPUShaderSourceWGSL wgsl_desc = {};
wgsl_desc.chain.sType = WGPUSType_ShaderSourceWGSL;
wgsl_desc.code = {shader_code, shader_len};
WGPUShaderModuleDescriptor shader_desc = {};
shader_desc.nextInChain = (const WGPUChainedStruct*)&wgsl_desc.chain;
-#endif
WGPUShaderModule shader_module =
wgpuDeviceCreateShaderModule(device_, &shader_desc);
@@ -105,21 +97,13 @@ void VisualDebug::create_pipeline(WGPUTextureFormat format) {
WGPURenderPipelineDescriptor pipeline_desc = {};
pipeline_desc.layout = pipeline_layout;
pipeline_desc.vertex.module = shader_module;
-#if defined(DEMO_CROSS_COMPILE_WIN32)
- pipeline_desc.vertex.entryPoint = "vs_main";
-#else
pipeline_desc.vertex.entryPoint = str_view("vs_main");
-#endif
pipeline_desc.vertex.bufferCount = 1;
pipeline_desc.vertex.buffers = &vertex_layout;
WGPUFragmentState fragment_state = {};
fragment_state.module = shader_module;
-#if defined(DEMO_CROSS_COMPILE_WIN32)
- fragment_state.entryPoint = "fs_main";
-#else
fragment_state.entryPoint = str_view("fs_main");
-#endif
fragment_state.targetCount = 1;
WGPUColorTargetState color_target = {};
@@ -138,6 +122,8 @@ void VisualDebug::create_pipeline(WGPUTextureFormat format) {
depth_stencil.depthWriteEnabled = WGPUOptionalBool_False; // Don't write depth
depth_stencil.depthCompare =
WGPUCompareFunction_Less; // But do test against it
+ depth_stencil.stencilFront.compare = WGPUCompareFunction_Always;
+ depth_stencil.stencilBack.compare = WGPUCompareFunction_Always;
pipeline_desc.depthStencil = &depth_stencil;
pipeline_desc.multisample.count = 1;