consider nodraw shaders in fog direction deduction
This commit is contained in:
parent
f53bfde1a1
commit
8565682f07
|
|
@ -152,7 +152,7 @@ textures/skies/xtoxicsky_dm9
|
|||
<p>Fog volume brushes must obey the following rules:</p>
|
||||
<ul>
|
||||
<li>The fog volume can only have one surface visible (from outside the fog).</li>
|
||||
<li>Fog must be made of one brush. It cannot be made of adjacent brushes.</li>
|
||||
<li>Normally fog must be made of one brush. It can be made of adjacent brushes with nodraw shader on junctions, however each brush takes ingame fog slot, count of which is limited, e.g. 31 in Q3A.</li>
|
||||
</ul>
|
||||
<blockquote>
|
||||
<h4>Design Notes:</h4>
|
||||
|
|
|
|||
|
|
@ -440,7 +440,7 @@ void EmitFogs(){
|
|||
/* find visible axial side */
|
||||
for ( size_t j = 6; j-- > 0; ) // prioritize +Z (index 5) then -Z (index 4) in ambiguous case; fogged pit is assumed as most likely case
|
||||
{
|
||||
if ( !fog.brush->sides[ j ].visibleHull.empty() ) {
|
||||
if ( !fog.brush->sides[ j ].visibleHull.empty() && !( fog.brush->sides[ j ].compileFlags & C_NODRAW ) ) {
|
||||
Sys_Printf( "Fog %zu has visible side %zu\n", i, j );
|
||||
bspFog.visibleSide = j;
|
||||
break;
|
||||
|
|
@ -450,7 +450,7 @@ void EmitFogs(){
|
|||
if( bspFog.visibleSide < 0 ){
|
||||
for ( size_t j = 6; j < fog.brush->sides.size(); ++j )
|
||||
{
|
||||
if ( !fog.brush->sides[ j ].visibleHull.empty() ) {
|
||||
if ( !fog.brush->sides[ j ].visibleHull.empty() && !( fog.brush->sides[ j ].compileFlags & C_NODRAW ) ) {
|
||||
Sys_Printf( "Fog %zu has visible side %zu\n", i, j );
|
||||
bspFog.visibleSide = j;
|
||||
break;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user