From 310ecff585d017ace24ecafdab4e7f1a33145d19 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Fri, 22 Dec 2023 15:19:24 -0500 Subject: [PATCH] vk: rt: make additive brush models single-sided Fixes #665 --- ref/vk/vk_brush.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ref/vk/vk_brush.c b/ref/vk/vk_brush.c index f8c7725f..9b87d3b6 100644 --- a/ref/vk/vk_brush.c +++ b/ref/vk/vk_brush.c @@ -830,6 +830,7 @@ void R_BrushModelDraw( const cl_entity_t *ent, int render_mode, float blend, con vec4_t color = {1, 1, 1, 1}; vk_render_type_e render_type = kVkRenderTypeSolid; + uint32_t material_flags = kMaterialFlag_None; switch (render_mode) { case kRenderNormal: Vector4Set(color, 1.f, 1.f, 1.f, 1.f); @@ -846,6 +847,7 @@ void R_BrushModelDraw( const cl_entity_t *ent, int render_mode, float blend, con case kRenderTransAdd: Vector4Set(color, blend, blend, blend, 1.f); render_type = kVkRenderType_A_1_R; + material_flags |= kMaterialFlag_CullBackFace_Bit; break; case kRenderTransAlpha: if( gEngine.EngineGetParm( PARM_QUAKE_COMPATIBLE, 0 )) @@ -950,7 +952,7 @@ void R_BrushModelDraw( const cl_entity_t *ent, int render_mode, float blend, con R_RenderModelDraw(&bmodel->render_model, (r_model_draw_t){ .render_type = render_type, .material_mode = material_mode, - .material_flags = kMaterialFlag_None, + .material_flags = material_flags, .color = &color, .transform = &transform, .prev_transform = &bmodel->prev_transform,