Brush-based CSG vs static mesh

Started by
15 comments, last by Hodgman 7 years, 1 month ago
Theory question: Whats the benefit of using brush-based CSG over static meshes for constructing world geometry? It seems to me everything boils down to polygons at the end of the day. What does using CSG buy you?
Could you be specific with your answers. I've read in a few places that performance with CSG is better, but the same articles omit what kind of performance they are talking about.
Advertisement

Could you post links to the articles... I'm interested.

Isn't brush-based CSG a relic of the quake era and BSP based levels? I think most modern games use static meshes.

-potential energy is easily made kinetic-

Brush based CSG is usually used at the content creation stage, and is converted into a static mesh during development, before the game even runs. It's just a different way to author content.

So you're comparing static meshes vs static meshes...

@[member='Hodgman'],

Sorry to bother you but you seem to have "been around the block"... am I misremembering things or was brush based CSG used in level editors like hammer and other BSP based engines?

-potential energy is easily made kinetic-

am I misremembering things or was brush based CSG used in level editors like hammer and other BSP based engines?

Yes the Quake engines really popularized the CSG->BSP workflow, but even UE4 and Source still support CSG based mesh creation. There's also a bunch of CSG plugins for Unity, such as this.

It's a particularly good workflow for people who aren't experts at 3D modelling, but who want to quickly block out the shape of a level -- e.g. level designers :D

It's a particularly good workflow for people who aren't experts at 3D modelling, but who want to quickly block out the shape of a level -- e.g. level designers :D

Or programmers. My programmer-art CSG is way better than my programmer-art 3D modelling :D

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

CSG also avoids common issues when it comes to BSP creation, e.g. Meshes are watertight, no degenerated faces, unused vertices. BSPs can be still useful for fast, rough culling, collision detection, audio propagation (which all basically boils down to some ray queries).

Thanks everybody for your replies. They were very insightful.

Could you post links to the articles referred to in your original post? I'm still interested.

-potential energy is easily made kinetic-

Could you post links to the articles referred to in your original post? I'm still interested.

Maybe its an Unreal specific thing, but their docs state: "Even though Static Meshes are better performance-wise, Geometry Brushes can occasionally be used without any serious impact as long as the geometry is simple."

Random forum posts, mostly Unreal related, seem to agree with the docs.

It would seem to me (intuitively anyway) that CSG would be faster for building a BSP since a brush will likely have fewer splitting planes than a complex mesh.

This topic is closed to new replies.

Advertisement