Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if ((props.cubeMap!=null) && (!noCubemaps))
- {
- file.WriteLine(" rdir = -reflect(_WorldSpaceCameraPos-IN.pWorld, IN.Normal);");
- if (props.useBPCEM)
- {
- file.WriteLine(" nrdir = normalize(rdir);");
- file.WriteLine(" rbmax = (EnvBoxMax - IN.pWorld)/nrdir;");
- file.WriteLine(" rbmin = (EnvBoxMin - IN.pWorld)/nrdir;");
- file.WriteLine(" rbminmax = (nrdir>0.0f)?rbmax:rbmin;");
- file.WriteLine(" fa = min(min(rbminmax.x, rbminmax.y), rbminmax.z);");
- file.WriteLine(" posonbox = IN.pWorld + nrdir*fa;");
- file.WriteLine(" rdir = posonbox - (EnvBoxMin+EnvBoxMax)*0.5f;");
- }
- else
- {
- file.WriteLine(" rdir = normalize(rdir);// * float3(1,-1,1);");
- }
- if ((props.normalMap!=null) && (props.useToksvig))
- {
- file.WriteLine(" roughFactor = (1-toksvig)*"+props.reflectionMaxMip+"+"+props.reflectionMipOffset+";");
- }
- else
- {
- file.WriteLine(" roughFactor = "+props.reflectionMipOffset+";");
- }
- if (props.reflectionBlinn2Fade>0)
- {
- file.WriteLine(" roughFactor += dotVN * "+(props.reflectionMaxMip)+";");
- file.WriteLine(" roughFactor *= "+props.reflectionBlinn2Fade+";");
- }
- if (props.reflectionStretch>0)
- {
- file.WriteLine(" rdir -= ("+((j/100.0f)*props.reflectionStretch)+")*IN.Normal*float3(1,-1,1);");
- if (props.reflectionBlinn2Distort>0)
- {
- file.WriteLine(" roughFactor += "+(((SSAA.Length-1)-j)*0.25f*props.reflectionBlinn2Distort)+";");
- }
- }
- file.WriteLine(" roughFactor = min(roughFactor,"+props.reflectionMaxMip+");");
- //file.WriteLine(" roughFactor = min("+(props.reflectionMaxMip)+", roughFactor+"+props.reflectionMipOffset+");");
- if (props.useTex2DRefl)
- {
- file.WriteLine(" rawCubemap = texCUBE(cubeMap, rdir);");
- }
- else
- {
- file.WriteLine(" rawCubemap = texCUBElod(cubeMap, float4(rdir,roughFactor));");
- }
- if (props.useIndirectLM)
- {
- file.WriteLine(" rplaneAllBB += float4(indirectIntensity * DecodeCubemap(rawCubemap),1);");
- }
- else
- {
- file.WriteLine(" rplaneAllBB += float4(DecodeCubemap(rawCubemap),1);");
- }
- if (props.skyCubeMap)
- {
- if (props.useTex2DRefl)
- {
- file.WriteLine(" rawCubemap = texCUBE(skyCubeMap, reflDir);");
- }
- else
- {
- file.WriteLine(" rawCubemap = texCUBElod(skyCubeMap, float4(reflDir,roughFactor));");
- }
- if (props.useIndirectLM)
- {
- file.WriteLine(" rplaneAllBB += float4(indirectIntensity * DecodeCubemap(rawCubemap),1) * (1-rawCubemap.x) * skyCubeMapInt;");
- }
- else
- {
- file.WriteLine(" rplaneAllBB += float4(DecodeCubemap(rawCubemap),1) * (1-rawCubemap.x) * skyCubeMapInt;");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement