]> 20012321331174002000492207441578312502506160250250Workspace1000-105054001250250001250169101100250250Output1002-109090250250Artist Editor1001-108080331174LightPos1100-102151530014262000331233117411511331174001715 ]]> 0.01){ float mipmap1 = MipmapLevel(TexCoords0,vec2(512.0,512.0)); vec3 NewCoords1 = TraceRay(0.2,TexCoords0,ViewDir1,mipmap1,height1); vec3 Normal0 = normalize(texture2DLod(bump1,NewCoords1.xy,mipmap1).xyz * 2.0 - 1.0); Color0 = texture2DLod(tex1,NewCoords1.xy,mipmap1) * dot(Normal0,LightDir1); } if(blend.y > 0.01){ float mipmap2 = MipmapLevel(TexCoords1,vec2(512.0,512.0)); vec3 NewCoords2 = TraceRay(0.2,TexCoords1,ViewDir2,mipmap2,height1); vec3 Normal1 = normalize(texture2DLod(bump2,NewCoords2.xy,mipmap2).xyz * 2.0 - 1.0); Color1 = texture2DLod(tex2,NewCoords2.xy,mipmap2) * dot(Normal1,LightDir2); } if(blend.z > 0.01){ float mipmap3 = MipmapLevel(TexCoords2,vec2(512.0,512.0)); vec3 NewCoords3 = TraceRay(0.2,TexCoords2,ViewDir3,mipmap3,height1); vec3 Normal2 = normalize(texture2DLod(bump3,NewCoords3.xy,mipmap3).xyz * 2.0 - 1.0); Color2 = texture2DLod(tex3,NewCoords3.xy,mipmap3) * dot(Normal2,LightDir3); } vec4 Color = Color0 * blend.x + Color1 * blend.y + Color2 * blend.z; gl_FragColor = Color; }]]>