prioritize vertical walls?

skip surfaces are now completely irrelevent?

hint surface on a detail brush is illegal

hint brushes and area brushes are just structural-open content?

anything with a shader definition is translucent?

opaque-structural

opaque-detail

translucent

areaportals are structural


In copy brush for csg:???

		if (newbrush->sides[j].surf & SURF_HINT)
			newbrush->sides[j].visible = true;	// hints are always visible



solid	trans	nodraw
1		0		0		normal wall
1		1		0		window
1		1		1		invisible wall (different than a clip brush, probably bad idea)
1		0		1		caulk
0		1		0		vines
0		1		1		ladders, hints, skips, triggers, player clip brushes, water joints
0		0		0		illusionary walls that block vis ( solid water boundaries, not a good idea ) 
0		0		1		triggers that block vis (bad idea)


All trans brushes are considered detail

An "opaque" brush is a brush thats interior will never be seen or contacted.  Q3map is free to completely
remove brushes that are entirely in solid areas.

The surfaces of an opaque brush will be drawable unless they have the "nodraw" surface flag.

A "detail" brush is a brush that will not chop up the world into more visibility clusters.  All
non-opaque brushes are detail brushes, but opaque brushes may be flagged detail to speed vis times and
reduce cluster count.

Detail is a flag set in the editor, not a property of the surfaces of the brush.

A "structural" brush is an opaque, non detail brush.

The caulk surface is an opaque, nodraw surface that will cause a hall-of-mirrors if seen.

visibility, leak testing:  opaque, non-detail brushes, no patches

lighting:  all opaque brushes block light, all others pass it


Opaque brushes are solid to everything, but non-opaque brushes 


Putting a translucent shader on an opaque brush will result in hall-of-mirrors or overblend visual errors.



all solid
player solid


First the bsp is constructed with all of the hint faces

Then all of the opaque, non-detail brushes are inserted.

This defines the clusters used for visibility determination

Clusters are either opaque or translucent

Flood filling is performed

Any brush surfaces that do not face a translucent cluster are removed.

All of the remaining brushes and surfaces are inserted into the tree

Brush faces that do not face any translucent clusters are removed, but it is possible to have
wasted unseeable faces that are contained in other opaque detail brushes.



G:\quake3\baseq3\maps>q3map -info work_dm2
---------------------
work_dm2.bsp: 424328
     3 models           144
  1379 brushes        16548
  9454 brushsides     75632
  3314 planes         66280
   189 entdata        13117

  4067 nodes         113876
  4071 leafs         113988
  6916 leaffaces      13832
  5393 leafbrushes    10786
---------------------


new way ( ugh )
G:\quake3\baseq3\maps>q3map -info work_dm2
---------------------
work_dm2.bsp: 525152
     3 models           144
  1379 brushes        16548
  9454 brushsides     75632
  3314 planes         66280
   189 entdata        13117

  5775 nodes         161700
  5779 leafs         161812
  6599 leaffaces      13198
  8278 leafbrushes    16556
---------------------
