Skip to content

Allowing toggling of r_drawworld during gameplay#229

Open
hemebond wants to merge 2 commits into
DarkPlacesEngine:masterfrom
hemebond:feature/jo-107-toggle-drawworld
Open

Allowing toggling of r_drawworld during gameplay#229
hemebond wants to merge 2 commits into
DarkPlacesEngine:masterfrom
hemebond:feature/jo-107-toggle-drawworld

Conversation

@hemebond

Copy link
Copy Markdown
Contributor

Updates SCR_DrawScreen to check the value of r_drawworld before rendering the scene, allowing players to change it during gameplay instead of requiring a restart. Suggested by @Baker7. Resolves #107

@Cloudwalk9

Cloudwalk9 commented Jul 22, 2025

Copy link
Copy Markdown
Contributor

I'm iffy about checking cvar values in the rendering path due to latency and cache locality. This doesn't seem amenable to a cvar callback either.

As an aside, now that I think about it, given the severe performance penalty of drawing all entities in the void where the renderer completely skips visleaf culling, this cvar would be increasingly useless or impractical the more entities you have.

@Baker7

Baker7 commented Jul 24, 2025

Copy link
Copy Markdown

@Cloudwalk9
Commentarry:

"As an aside, now that I think about it, given the severe performance penalty of drawing all entities in the void where the renderer completely skips visleaf culling, this cvar would be increasingly useless or impractical the more entities you have."

It doesn't skip vis leaf culling in DarkPlaces 2014 or the most recent Xonotic DarkPlaces.

One great use of r_drawworld 0 is often to see what entities are in the current vis by not drawing the world.

r_drawworld 0 is a feature of every modern Quake engine and classic DarkPlaces including current Xonotic DarkPlaces.

You can use r_drawworld to see if a map was crappily vis'd. From a factual basis, if I load up AD_Tears from Arcane Dimensions and type r_drawworld 0, it makes me sad because enormous numbers of monsters are drawn. Very open Q1 maps get terrible vis as a general rule of thumb in Q1 -- and DarkPlaces which does lighting calcs for every entity pays the heaviest price for doing all that extra work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

r_drawworld 0 fails (fix)

3 participants