Duke4.net Forums: A Simple Question re: 3D Game Engines - Duke4.net Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

A Simple Question re: 3D Game Engines

User is offline   Ninety-Six 

#1

This is a question that's been buzzing around my head for a few years and I've finally decided to ask it to anyone who has some basic level of understanding when it comes to old and new 3D game engines.

What is the difference between a mesh and a brush?


Now, I'm not a complete noob as far as technical understanding goes. Hardly an expert by any stretch, but I've been around the block enough to have a vague idea of what a mesh is (maps made with meshes are technically models, right?), and I've even played around in one or two pre-2007 level editors for 3D games, so I also have a basic understanding of what a brush is.

What I don't understand is what the key difference between the two is, and why meshes have more or less completely replaced brushes in modern gaming. I'm also curious if the answer could explain why I can look at ingame screenshots and be able to point out what's a brush map and what's a mesh map, because it's not anything I can consciously point to as an identifying feature.
2

User is offline   oasiz 

  • Dr. Effector

#2

I guess you could say that brushes are "strokes" that get compiled to simpler meshes (3d models) to be used by the engine.

i.e. in Quake, When building a box with brushes, these (typically) rectangle building blocks have all six faces to work with despite only one side being visible to the player.
It's the compilation that gets rid of the excess and creates an usable model out of it.
Any visible leaks from the "gameplay area" would force the compilation to include exterior sides of brushes as well since now they need to be considered valid player space.
Same works in reverse, as brushes are 3D strokes, any decompiler must re-create these based on best guesses. --- some times with pretty crude results :)

So to say this again... in quake, brushes were never the stuff you had in-game as brushes, it was just a building block that the compiler turned to a model.
Worldcraft was basically a very crude modelling program.
2

User is offline   Ninety-Six 

#3

 oasiz, on 03 April 2022 - 02:13 AM, said:

I guess you could say that brushes are "strokes" that get compiled to simpler meshes (3d models) to be used by the engine.

i.e. in Quake, When building a box with brushes, these (typically) rectangle building blocks have all six faces to work with despite only one side being visible to the player.
It's the compilation that gets rid of the excess and creates an usable model out of it.
Any visible leaks from the "gameplay area" would force the compilation to include exterior sides of brushes as well since now they need to be considered valid player space.
Same works in reverse, as brushes are 3D strokes, any decompiler must re-create these based on best guesses. --- some times with pretty crude results :)

So to say this again... in quake, brushes were never the stuff you had in-game as brushes, it was just a building block that the compiler turned to a model.
Worldcraft was basically a very crude modelling program.


So what are the advantages to bypassing the compiler and making a mesh right out of the starting gate? I have seen impressive stuff built with brushes, particularly in Source (which I know is descended from Quake, but still).

And yet despite that, there's something distinctive about brushes-turned-meshes vs. "natural" meshes that can be discerned with the naked eye, but I can't figure out what it is...

This post has been edited by Ninety-Six: 03 April 2022 - 05:34 AM

0

User is offline   oasiz 

  • Dr. Effector

#4

Engines like Quake1 don't really have provisions to do real-time visibility calculation, including creating lighting.
What the compilation does is basically pre-baking everything (convert to BSP -> Calculate what is actually visible from given positions -> lighting areas up).
This is probably what they struggled with during dev and mentions of "There were holes in the world" were in Masters of doom.

This is why doom and quake maps are very static unlike build engine, i.e. you won't really find x/y moving objects and interactivity is mostly limited to Z angle.
There are exceptions but those ended up as "entities" and would be handled engine side with very limited culling.


The reason why brush stuff is easy to recognize is due to how it's simply built.
When all you have are filled rectangles and triangles, you kinda get that.
Blocky shapes and brutalist look comes in pretty much automatically :)
1

User is offline   Ninety-Six 

#5

Cool, thanks for the breakdown, dude.

...Once again that sounds sarcastic and I don't know why....
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options