mh wrote:Q3A definitely has R_LoadVisibility. Doom 3 on the other hand doesn't use a precalculated PVS. There are plenty of ways to get visibility without precalculating it, portals and anti-portals being popular (DarkPlaces has an option to use these, I believe). Quake almost used portals late in it's development, but I believe that the difference between slowest and fastest scenes was too much. Would be interesting to explore again today.
Hmmm. Interesting stuff.
mh wrote:QBSP also calculates collision hulls (gone in the Q2 version) and sets ambient sounds, pulls textures from WAD files into the BSP, sets contents flags and a few other things. It's brush splitting is the really nasty part - that was totally designed around the needs of a software renderer with zero overdraw, and is completely inappropriate for hardware (where it's often faster to accept some overdraw and extra vertexes in exchange for being able to batch up more stuff together). It took until Q3A to put that one right.
Well, part of my interest in these questions is there needs to be a decent map editor and I am wondering if maybe I might end up doing that.
I was kind of angling at whether or not there is a need to actually compiled the .bsp
Here is the logic of using the .map:
1. Forego lightmapping. Try to use some sort of real time lighting.
2. Cut up the surfaces? Well, no software or lightmaps seems to mean this isn't needed.
3. Visibility --- ??????? No answer at this time. Apparently I need to learn what portals and anti-portals are.
4. Textures. Well, put them in the zip file.
5. Collision hull. Hadn't thought about that and I'm not 100% on how the collisions are really determined in Quake. Seems to walk the BSP tree but that is a little fuzzy to me what is in the BSP tree.
Anyway, if I do make a map editor, I wouldn't want to have to load up a client to test the map. I mean "try it". Like with physics and being able to walk around it.
quaterions? Are these guys matrix4 somehow flattened into 4 numbers with some sort of margin of error. Like lossy compression.
PhysicsAs far as I can tell even though I don't yet fully understand SV_RecursiveHullCheck, physics is probably just checking all 8 corners of the box. I figure the BSP format does something to help rule out what surfaces to check against by using visibility maybe? I need to look deeper into this.