@@ -34,6 +34,8 @@ backEndState_t backEnd;
34
34
35
35
static Cvar::Cvar<bool > r_clear ( " r_clear" , " Clear screen before painting over it on every frame" , Cvar::NONE, false );
36
36
Cvar::Cvar<bool > r_drawSky ( " r_drawSky" , " Draw the sky (clear the sky if disabled)" , Cvar::NONE, true );
37
+ static Cvar::Cvar<int > r_showEntityBounds (
38
+ " r_showEntityBounds" , " show bboxes used for culling (1: wireframe; 2: translucent solid" , Cvar::CHEAT, 0 );
37
39
38
40
void GL_Bind ( image_t *image )
39
41
{
@@ -1563,7 +1565,7 @@ static void RB_RenderDebugUtils()
1563
1565
{
1564
1566
GLIMP_LOGCOMMENT ( " --- RB_RenderDebugUtils ---" );
1565
1567
1566
- if ( r_showEntityTransforms-> integer )
1568
+ if ( r_showEntityBounds. Get () )
1567
1569
{
1568
1570
trRefEntity_t *ent;
1569
1571
int i;
@@ -1577,13 +1579,14 @@ static void RB_RenderDebugUtils()
1577
1579
gl_genericShader->SetDepthFade ( false );
1578
1580
gl_genericShader->BindProgram ( 0 );
1579
1581
1580
- GL_State ( GLS_POLYMODE_LINE | GLS_DEPTHTEST_DISABLE );
1582
+ GL_State ( r_showEntityBounds.Get () == 2 ? GLS_SRCBLEND_SRC_ALPHA | GLS_DSTBLEND_ONE_MINUS_SRC_ALPHA
1583
+ : GLS_POLYMODE_LINE | GLS_DEPTHTEST_DISABLE );
1581
1584
GL_Cull ( cullType_t::CT_TWO_SIDED );
1582
1585
1583
1586
// set uniforms
1584
1587
gl_genericShader->SetUniform_AlphaTest ( GLS_ATEST_NONE );
1585
1588
SetUniform_ColorModulateColorGen ( gl_genericShader, colorGen_t::CGEN_VERTEX, alphaGen_t::AGEN_VERTEX );
1586
- SetUniform_Color ( gl_genericShader, Color::Black );
1589
+ SetUniform_Color ( gl_genericShader, Color::Color ( 0 , 0 , 0 , 0 ) );
1587
1590
1588
1591
// bind u_ColorMap
1589
1592
gl_genericShader->SetUniform_ColorMapBindless (
@@ -1613,9 +1616,15 @@ static void RB_RenderDebugUtils()
1613
1616
1614
1617
Tess_Begin ( Tess_StageIteratorDebug, nullptr , nullptr , true , -1 , 0 );
1615
1618
1616
- Tess_AddCube ( vec3_origin, ent->localBounds [ 0 ], ent->localBounds [ 1 ], Color::Blue );
1617
-
1618
- Tess_AddCube ( vec3_origin, mins, maxs,Color::White );
1619
+ if ( r_showEntityBounds.Get () == 2 )
1620
+ {
1621
+ Tess_AddCube ( vec3_origin, ent->localBounds [ 0 ], ent->localBounds [ 1 ], Color::Color (0 , 0 , 0.5 , 0.4 ) );
1622
+ }
1623
+ else
1624
+ {
1625
+ Tess_AddCube ( vec3_origin, ent->localBounds [ 0 ], ent->localBounds [ 1 ], Color::Blue );
1626
+ Tess_AddCube ( vec3_origin, mins, maxs,Color::White );
1627
+ }
1619
1628
1620
1629
Tess_End ();
1621
1630
}
0 commit comments