// this method is slower #macro BlurredReflectionMultiNormals(InPigment, InFinish, InNormal, BlurAmount, BlurSamples) // texture // { average texture_map { #declare iCount = 0; #declare S = seed(0); #while (iCount < BlurSamples) [ 1 // The pigment of the object: pigment { InPigment } // The surface finish: finish { InFinish } // This is the actual trick: normal { average normal_map { [1 bumps BlurAmount translate *100 scale 0.001] [1 InNormal] } } ] #declare iCount = iCount + 1; #end } // } #end // this method is faster, but requires focal blur and/or extra antialiasing to smooth out the graininess #macro BlurredReflectionSingleNormals(InPigment, InFinish, InNormal, BlurAmount) // texture // { pigment { InPigment } finish { InFinish } normal { InNormal } normal {bumps BlurAmount scale 0.001} // } #end