diff --git a/src/engine/renderer/tr_shader.c b/src/engine/renderer/tr_shader.c index b28b603..c1ecf5d 100644 --- a/src/engine/renderer/tr_shader.c +++ b/src/engine/renderer/tr_shader.c @@ -2892,6 +2892,12 @@ static void CreateInternalShaders( void ) { tr.defaultShader = FinishShader(); + // shadow shader is just a marker + Q_strncpyz( shader.name, "", sizeof( shader.name ) ); + shader.sort = SS_STENCIL_SHADOW; + + tr.shadowShader = FinishShader(); + // cinematic shader Com_Memset( &shader, 0, sizeof( shader ) ); Com_Memset( &stages, 0, sizeof( stages ) ); @@ -2905,15 +2911,6 @@ static void CreateInternalShaders( void ) { stages[0].stateBits = GLS_DEPTHTEST_DISABLE; tr.cinematicShader = FinishShader(); - - // shadow shader is just a marker - Com_Memset( &shader, 0, sizeof( shader ) ); - Com_Memset( &stages, 0, sizeof( stages ) ); - - Q_strncpyz( shader.name, "", sizeof( shader.name ) ); - shader.sort = SS_STENCIL_SHADOW; - - tr.shadowShader = FinishShader(); } static void CreateExternalShaders( void ) { diff --git a/src/engine/renderer/tr_shadows.c b/src/engine/renderer/tr_shadows.c index f720e4e..1281ab6 100644 --- a/src/engine/renderer/tr_shadows.c +++ b/src/engine/renderer/tr_shadows.c @@ -263,6 +263,7 @@ void RB_ShadowTessEnd( void ) { R_Vk_RenderShadowEdges(vk.shadow_volume_pipelines[1][0]); } + qglDisable(GL_STENCIL_TEST); // reenable writing to the color buffer qglColorMask( GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE );