[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4787: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4789: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4790: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4791: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
InsideQC Forums • View topic - IdTech 1/2/3/4 BSP/PVS

IdTech 1/2/3/4 BSP/PVS

Discuss the construction of maps and the tools to create maps for 3D games.

Moderator: InsideQC Admins

IdTech 1/2/3/4 BSP/PVS

Postby Spiney » Wed Apr 09, 2014 12:16 pm

Hey guys, I've been thinking for a while of doing some big art farty maps with large open spaces and detailed geometry.
There's no gameplay involved, it's a purely visual thing and shader wise it would be really simple, all about simple aesthetics.
One thing I've been wondering is, which BSP version is best to use nowadays? All other things not considered.
I only understand the technical sides of this in broad conceptual terms, so I'm asking since there's more qualified people here.
I'd like to not have to worry too much about optimizing occlusion culling, but I also want fairly flexible texture alignment and vis times that are managable.

So, as I understand it:
Q1 BSP is old and the vis times are potentially extreme. The upside is that it's fairly straightforward when using something like BSP2, no caulking/hinting/areaportals etc.
Q2 BSP I never used, but it seems to be in disuse and it has all kinds of finicky optimisations that might be deprecated or inefficient for modern GPU's?
I know Q2W has improved Q2 BSP, so that might be worth looking into? I'm slightly intrigued about it :P
Q3 BSP is newer, decent tools, decent vis times. Downsides are it seems to lag when the vis isn't carefully optimized. Especially in large outdoors where Q1 for instance doesn't seem to have much issue. I made a big open map a while ago and the performance just didn't cut it once I started stacking too much stuff in. Curved surfaces are nice, but no huge deal. Manual caulking is no huge deal to me, but not having to bother is nice also. FBSP (qFusion) is like Q3 but with bigger lightmap page size?
D3 BSP I haven't tried yet, but from what I gather it does everything with manually placed portals? How does this compare to other more precomputation heavy methods? I read a couple of times it's supposedly bad at outdoors, but is that due to PVS issues or due to the lighting? I recall some sluggish outdoors in Prey where I turned off shadow volumes and the FPS just went into tripple digits.

Also, are there other options I didn't list?
If it turns out old fashioned BSP is too prohibitive I might look into other venues, such as doing everything in a modelling app and use something like Unity or UDK, but in that case I'll need to learn some new tools/engine in the process. That might be worh it, however I still like BSP because it has less of a 'random poly soup' feel than a lot of modern engines which stick a bunch of modular meshes together. BSP also seems to allow for more liberal texturing (including consistent texture scaling, etc). Would be good to get some mapper as well as programmer input... maybe there's other people who wonder about this stuff. There's the workflow and the technical limitations/advantages to consider. I can always design around limitations, but it's certainly nice to have things 'just work'.
Spiney
 
Posts: 63
Joined: Mon Feb 13, 2012 1:35 pm

Re: IdTech 1/2/3/4 BSP/PVS

Postby jitspoe » Wed Apr 09, 2014 3:00 pm

The reason some of the BSP versions don't handle large, open spaces well is because they chop up the geometry every X units, so the more units you have, the more polygons you end up with. This chopping can be reduced by scaling the texture up. I'm not sure how bad it is in idTech 3 and 4, but 1 and 2 get chopped up quite a bit. I know in 3, small brushes are less likely to split things -- that's another big issue with BSP. Say you have something like a detailed pole (cylinder) touching the ground. With 1 and 2, it will split the ground for each plane on the pole, adding a bunch of extra polygons. In 3, the compiler is a little smarter and should avoid this. I've never tried anything with 4.

Oh, one other thing -- 1 and 2 spaces are limited to 8192 units (140-150 meters-ish, I think).

As PVS, if your map is a large, open space, it's probably not going to benefit from PVS at all, since all areas of the map will be potentially visible.

jitspoe
 
Posts: 217
Joined: Mon Jan 17, 2005 5:27 am

Re: IdTech 1/2/3/4 BSP/PVS

Postby Spike » Wed Apr 09, 2014 4:34 pm

Q3bsp doesn't do lightstyles. the other potential disadvantages are due to the tools. you can often aproximate them with shaders although its not the same. shader switching is possible with quake3, but not particuarly convienient.
Curved surfaces are nice, but you might as well just use polysoup instead. doom3 certainly did.
Visually, Q2bsp isn't really any different from Q1bsp. Just external textures, some 33%/66% transparency flags, skyboxes instead of weird scrolly skies, and built-in lit support. Its not really any harder to get a software rendering q1 engine to support q2 bsps as it would be for a gl engine.
doom3 has no lightmap support at all. lighting is either flat or realtime, which makes it either crap or slow. It should be good at batching (yay for complex scenes), so long as its pitch black. Support for frustum culling may be lacking. Shouldn't really be a problem if your gpu can do all that on-chip.
.
Spike
 
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Re: IdTech 1/2/3/4 BSP/PVS

Postby qbism » Wed Apr 09, 2014 4:58 pm

What existing maps do you like, what sort of atmosphere, and how do you like to map? This is more important than the format nowadays. Recent Q1 and Q2 compiler tools and engines have reduced the limitations. See Maric's recent kmquake2 map with scenery models and Tyran's new Q1 compiler with detail brush support (func_wall with shadows!) as examples.

If you're looking for doomlike normalmapping, shaders, etc., it can be had in Q1, Q2, and Q3 flavors.

I've been playing with Trenchbroom map editor, a fun way to sculpt maps directly in 3d. Q1 only for now, but looks like coding is happening for a plugin system possibly leading to more formats.
User avatar
qbism
 
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am

Re: IdTech 1/2/3/4 BSP/PVS

Postby Spiney » Wed Apr 09, 2014 6:41 pm

No normalmapping/lightstyles.
What I'm having in mind at the moment is something like Lunarans's latest floater http://www.lunaran.com/images/maps/large/lun3dm5_9.jpg
...so that level of complexity but with a NPR texture style leaning more towards illustration/graphics design.
Actually I just remember I haven't ran the map with the GL2 renderer in the newer ioQ3. It was performing horribly on stock Q3A, as it was with most people from what I gather.
So that's giving me some concern, it's not very detailed by modern standards, yet enough to bring Q3 to it's knees.

One of the scenes I'm planning is a vertical shantytown. With lots of protrusions and vistas, but also subterranean sections.
I would prefer lightmapping so I can do soft ambient fill lighting, but the hardness of shadow volumes might not be a bad thing since the textures are supposed to have an inked look.

[update]
Actually I just tried Lun3DM5 on nightly ioQ3's GL2 renderer and it runs perfectly smooth. Guess that does it... I can keep my current workflow and have decent framerates on geometrically complex maps. Now I feel stupid for making this thread.
Spiney
 
Posts: 63
Joined: Mon Feb 13, 2012 1:35 pm

Re: IdTech 1/2/3/4 BSP/PVS

Postby leileilol » Thu Apr 10, 2014 12:16 am

leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am


Re: IdTech 1/2/3/4 BSP/PVS

Postby Spike » Tue Feb 17, 2015 5:19 pm

.
Spike
 
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK


Return to Mapping

Who is online

Users browsing this forum: No registered users and 1 guest