/* ** R_BuildCloudData */ void R_BuildCloudData( shaderCommands_t *input ) { //int i; shader_t *shader; shader = input->shader; assert( shader->isSky ); sky_min = 1.0 / 256.0f; // FIXME: not correct? sky_max = 255.0 / 256.0f; // set up for drawing tess.numIndexes = 0; tess.numVertexes = 0; if ( shader->sky.cloudHeight ) { // From WolfET: // ok, this is really wierd. it's iterating through shader stages here, // which is unnecessary for a multi-stage sky shader, as far as i can tell // nuking this #if 0 for ( i = 0; i < MAX_SHADER_STAGES; i++ ) { if ( !tess.xstages[i] ) { break; } FillCloudBox( shader, i ); } #else FillCloudBox( shader, 0 ); #endif } }
/* ** R_BuildCloudData */ void R_BuildCloudData( shaderCommands_t *input ) { int i; shader_t *shader; shader = input->shader; assert( shader->isSky ); sky_min = GFIXED_1 / GFIXED(256,0); // FIXME: not correct? sky_max = GFIXED(255,0) / GFIXED(256,0); // set up for drawing tess.numIndexes = 0; tess.numVertexes = 0; if ( FIXED_NOT_ZERO( input->shader->sky.cloudHeight )) { for ( i = 0; i < MAX_SHADER_STAGES; i++ ) { if ( !tess.xstages[i] ) { break; } FillCloudBox( input->shader, i ); } } }
static void BuildCloudData() { int i; shader_t *shader; shader = tess.surfaceShader; assert( shader->isSky ); sky_min = 1.0 / 256.0f; // FIXME: not correct? sky_max = 255.0 / 256.0f; // set up for drawing tess.multiDrawPrimitives = 0; tess.numIndexes = 0; tess.numVertexes = 0; if ( tess.surfaceShader->sky.cloudHeight ) { for ( i = 0; i < MAX_SHADER_STAGES; i++ ) { if ( !tess.surfaceStages[ i ] ) { break; } FillCloudBox( tess.surfaceShader, i ); } } }
/* ** R_BuildCloudData */ void R_BuildCloudData( shaderCommands_t *input ) { int i; shader_t *shader; shader = input->shader; assert( shader->isSky ); sky_min = 1.0 / 256.0f; // FIXME: not correct? sky_max = 255.0 / 256.0f; // set up for drawing tess.numIndexes = 0; tess.numVertexes = 0; //ri.Printf(PRINT_ALL, "^1cloudHeight %f\n", input->shader->sky.cloudHeight); if ( shader->sky.cloudHeight ) { for ( i = 0; i < MAX_SHADER_STAGES; i++ ) { if ( !tess.xstages[i] ) { break; } //ri.Printf(PRINT_ALL, "fill cloud box %d\n", i); FillCloudBox( shader, i ); } } }
/* ** R_BuildCloudData */ void R_BuildCloudData(shaderCommands_t *input) { int i; material_t *shader; shader = input->shader; assert(shader->isSky); sky_min = 1.0 / 256.0f; /* FIXME: not correct? */ sky_max = 255.0 / 256.0f; /* set up for drawing */ tess.numIndexes = 0; tess.numVertexes = 0; if(shader->sky.cloudHeight){ for(i = 0; i < MAX_SHADER_STAGES; i++){ if(!tess.xstages[i]){ break; } FillCloudBox(shader, i); } } }
static void BuildCloudData() { int i; shader_t *shader; shader = tess.surfaceShader; assert( shader->isSky ); sky_min = 1.0 / 256.0f; // FIXME: not correct? sky_max = 255.0 / 256.0f; // set up for drawing tess.multiDrawPrimitives = 0; tess.numIndexes = 0; tess.numVertexes = 0; if ( tess.surfaceShader->sky.cloudHeight ) { for ( i = 0; i < MAX_SHADER_STAGES; i++ ) { if ( !tess.surfaceStages[ i ] ) { break; } FillCloudBox( tess.surfaceShader, i ); } } // Tr3B: FIXME analyze required vertex attribs by the current material Tess_UpdateVBOs( 0 ); }
static void R_BuildCloudData( shaderCommands_t* input ) { assert( input->shader->sort == SS_ENVIRONMENT ); // set up for drawing tess.numIndexes = 0; tess.numVertexes = 0; if (!input->shader->sky.cloudHeight) return; for (int i = 0; (i < MAX_SHADER_STAGES) && tess.xstages[i]; ++i) { FillCloudBox( input->shader, i ); } }
/* ** R_BuildCloudData */ void R_BuildCloudData( shaderCommands_t *input ) { int i; assert( input->shader->sky ); sky_min = 1.0 / 256.0f; // FIXME: not correct? sky_max = 255.0 / 256.0f; // set up for drawing tess.numIndexes = 0; tess.numVertexes = 0; if ( input->shader->sky->cloudHeight ) { for ( i=0; i<input->shader->numUnfoggedPasses; i++ ) FillCloudBox( input->shader, i ); } }