void Gradient::Update(TimeValue t, Interval& valid) { if (!ivalid.InInterval(t)) { ivalid.SetInfinite(); uvGen->Update(t,ivalid); texout->Update(t,ivalid); pblock->GetValue( grad_color1, t, col[0], ivalid ); col[0].ClampMinMax(); pblock->GetValue( grad_color2, t, col[1], ivalid ); col[1].ClampMinMax(); pblock->GetValue( grad_color3, t, col[2], ivalid ); col[2].ClampMinMax(); pblock->GetValue( grad_map1_on, t, mapOn[0], ivalid); pblock->GetValue( grad_map2_on, t, mapOn[1], ivalid); pblock->GetValue( grad_map3_on, t, mapOn[2], ivalid); pblock->GetValue( grad_type, t, type, ivalid ); pblock->GetValue( grad_noise_type, t, noiseType, ivalid ); pblock->GetValue( grad_amount, t, amount, ivalid ); pblock->GetValue( grad_size, t, size, ivalid ); pblock->GetValue( grad_phase, t, phase, ivalid ); pblock->GetValue( grad_center, t, center, ivalid ); pblock->GetValue( grad_levels, t, levels, ivalid ); pblock->GetValue( grad_high_thresh, t, high, ivalid ); pblock->GetValue( grad_low_thresh, t, low, ivalid ); pblock->GetValue( grad_thresh_smooth, t, smooth, ivalid ); if (low>high) { float temp = low; low = high; high = temp; } hminusl = (high-low); sd = hminusl*0.5f*smooth; if (size!=0.0f) size1 = 20.0f/size; else size1 = 0.0f; for (int i=0; i<NSUBTEX; i++) { if (subTex[i]) subTex[i]->Update(t,ivalid); } EnableStuff(); } valid &= ivalid; }
void Output::Update(TimeValue t, Interval& valid) { if (Param1) { pblock->SetValue( output_map1_on, 0, mapOn[0]); Param1 = FALSE; } if (!ivalid.InInterval(t)) { ivalid.SetInfinite(); texout->Update(t,ivalid); pblock->GetValue( output_map1_on, t, mapOn[0], ivalid); for (int i=0; i<NSUBTEX; i++) { if (subTex[i]) subTex[i]->Update(t,ivalid); } } valid &= ivalid; }
void Noise::Update(TimeValue t, Interval& valid) { if (pblock == NULL) return; if (!ivalid.InInterval(t)) { ivalid.SetInfinite(); if (xyzGen != NULL) xyzGen->Update(t,ivalid); if (texout != NULL) texout->Update(t,ivalid); pblock->GetValue( noise_color1, t, col[0], ivalid ); col[0].ClampMinMax(); pblock->GetValue( noise_color2, t, col[1], ivalid ); col[1].ClampMinMax(); pblock->GetValue( noise_size, t, size, ivalid ); pblock->GetValue( noise_phase, t, phase, ivalid ); pblock->GetValue( noise_levels, t, levels, ivalid ); for (int i=0; i<NSUBTEX; i++) { if (subTex[i]) subTex[i]->Update(t,ivalid); } pblock->GetValue( noise_hithresh, t, high, ivalid ); pblock->GetValue( noise_lowthresh, t, low, ivalid ); if (high<low) { float tmp = low; low = high; high = tmp; } pblock->GetValue( noise_map1_on, t, mapOn[0], ivalid); pblock->GetValue( noise_map2_on, t, mapOn[1], ivalid); pblock->GetValue( noise_type, t, noiseType, ivalid); //ComputeAvgValue(); // moved to UpdateCache DDS 10/3/00 EnableStuff(); } valid &= ivalid; }
void CellTex::Update(TimeValue t, Interval& valid) { EnterCriticalSection(&csect); if (!ivalid.InInterval(t)) { ivalid = FOREVER; xyzGen->Update(t,ivalid); texout->Update(t,ivalid); /* pblock->GetValue(PB_CELLCOL,t,cellCol,ivalid); pblock->GetValue(PB_DIVCOL1,t,divCol1,ivalid); pblock->GetValue(PB_DIVCOL2,t,divCol2,ivalid); pblock->GetValue(PB_VAR,t,var,ivalid); pblock->GetValue(PB_SIZE,t,size,ivalid); pblock->GetValue(PB_SPREAD,t,spread,ivalid); pblock->GetValue(PB_LOW,t,low,ivalid); pblock->GetValue(PB_MID,t,mid,ivalid); pblock->GetValue(PB_HIGH,t,high,ivalid); pblock->GetValue(PB_TYPE,t,type,ivalid); pblock->GetValue(PB_FRACT,t,fract,ivalid); pblock->GetValue(PB_ITER,t,iterations,ivalid); pblock->GetValue(PB_USECELLMAP,t,useCellMap,ivalid); pblock->GetValue(PB_USEDIV1MAP,t,useDiv1Map,ivalid); pblock->GetValue(PB_USEDIV2MAP,t,useDiv2Map,ivalid); pblock->GetValue(PB_ROUGH,t,rough,ivalid); pblock->GetValue(PB_SMOOTH,t,smooth,ivalid); pblock->GetValue(PB_ADAPT,t,adapt,ivalid); */ pblock->GetValue(cellular_celcolor,t,cellCol,ivalid); pblock->GetValue(cellular_divcol1,t,divCol1,ivalid); pblock->GetValue(cellular_divcol2,t,divCol2,ivalid); pblock->GetValue(cellular_variation,t,var,ivalid); pblock->GetValue(cellular_size,t,size,ivalid); pblock->GetValue(cellular_spread,t,spread,ivalid); pblock->GetValue(cellular_lowthresh,t,low,ivalid); pblock->GetValue(cellular_midthresh,t,mid,ivalid); pblock->GetValue(cellular_highthresh,t,high,ivalid); pblock->GetValue(cellular_type,t,type,ivalid); pblock->GetValue(cellular_fractal,t,fract,ivalid); pblock->GetValue(cellular_iteration,t,iterations,ivalid); pblock->GetValue(cellular_map1_on,t,useCellMap,ivalid); pblock->GetValue(cellular_map2_on,t,useDiv1Map,ivalid); pblock->GetValue(cellular_map3_on,t,useDiv2Map,ivalid); pblock->GetValue(cellular_rough,t,rough,ivalid); pblock->GetValue(cellular_smooth,t,smooth,ivalid); pblock->GetValue(cellular_adaptive,t,adapt,ivalid); smooth *= 0.7f; rough = 2.0f-rough; highMinuslow = high-low; midMinuslow = mid - low; highMinusmid = high - mid; if (type) { spread = spread/2.0f; } var /= 50.0f; varOff = 1.0f-var * 0.5f; for (int i=0; i<NSUBTEX; i++) { if (subTex[i]) subTex[i]->Update(t,ivalid); } } valid &= ivalid; LeaveCriticalSection(&csect); }