How does Unreal Editor render new brushes without rebuilding the BSP tree?

External tools, software and sites for creating or editing UT99 resources.
Post Reply
Smick_Dibbly
Novice
Posts: 7
Joined: Thu Feb 23, 2023 2:39 am

How does Unreal Editor render new brushes without rebuilding the BSP tree?

Post by Smick_Dibbly »

This is something that has bugged me for a long time. My understanding is that the BSP tree is a necessary part of rendering the world geometry in UT99. And yet somehow when you add/subtract a brush in Unreal Editor, you don't need to rebuild the BSP tree before seeing how the world looks with the newly applied brush (though it won't have lighting applied to it). My guess is that the new brush is split/partitioned into the convex leaves of the current tree in some way (I'm making a lot of assumptions about how the BSP is structured) which theoretically should allow it's pieces to be drawn in the correct sequence. Despite the many cuts of the brush that may occur, this will look "good enough" until a true rebuild is performed.

I have similar confusion about lights. In dynamic light mode, if you move a light actor, the environment noticeably changes accordingly. It's not quite correct because it looks better after you properly rebuild lighting. Are changed lights loosely approximated in real time, pending a proper recalculation of the lightmaps?
Buggie
Godlike
Posts: 2749
Joined: Sat Mar 21, 2020 5:32 am

Re: How does Unreal Editor render new brushes without rebuilding the BSP tree?

Post by Buggie »

When you add/subtract brush it apply this brush to world, like do on build process. Just some very unoptimized version, with skip some stuff, like build actual collision or zoning.

When light moved - it removed from baked lightmaps and marked as dynamic, with runtime rendering. On build light it clear this mark and light baked into lightmaps.
Post Reply