//listing of all techniques and passes with embedded asm listings technique draw { pass p0 { vertexshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // float3 AzimuthColor; // float3 AzimuthColorEast; // float AzimuthHeight; // float AzimuthStrength; // float CloudShadowOffset; // float4 CloudThicknessEdgeSmoothDetailScaleStrength; // float2 DetailOffset; // float2 GalaxyOffset; // float3 SkyColor; // float StarFieldUVRepeat; // float4 SunDirection; // float4 TopCloudBiasDetailThresholdHeight; // row_major float4x4 gWorld; // row_major float4x4 gWorldViewProj; // // // Registers: // // Name Reg Size // ------------------------------------------- ----- ---- // gWorld c0 4 // gWorldViewProj c8 4 // SunDirection c64 1 // SkyColor c65 1 // AzimuthColor c66 1 // AzimuthColorEast c67 1 // AzimuthHeight c68 1 // TopCloudBiasDetailThresholdHeight c69 1 // CloudShadowOffset c70 1 // AzimuthStrength c71 1 // CloudThicknessEdgeSmoothDetailScaleStrength c72 1 // StarFieldUVRepeat c73 1 // GalaxyOffset c74 1 // DetailOffset c75 1 // vs_3_0 def c4, 0, 1, 9.99999975e-006, 1.5 def c5, 0.5, -0.0187292993, 0.0742610022, -0.212114394 def c6, 1.57072878, -2, 3.14159274, 1.57079637 def c7, 0.317732662, 0.100000001, 0, 0 dcl_position v0 dcl_texcoord v1 dcl_position o0 dcl_texcoord o1.xyz dcl_texcoord1 o2.xyz dcl_texcoord2 o3 dcl_texcoord3 o4 dcl_texcoord4 o5.xyz dcl_texcoord5 o6.xyz mov r0.x, -v0.y max r0.x, r0.x, c4.x min r0.x, r0.x, c4.y mov r0.x, -r0.x add r0.x, r0.x, v0.y mul r1, c8, v0.x mul r2, r0.x, c9 add r1, r1, r2 mul r2, c10, v0.z add r1, r1, r2 mul r2, c11, v0.w add r1, r1, r2 mov r1, r1 mov r2.xy, v1 mov r1, r1 mul r0.yzw, c0.xxyz, v0.x mul r3.xyz, r0.x, c1 add r0.xyz, r0.yzww, r3 mul r3.xyz, c2, v0.z add r0.xyz, r0, r3 mul r3.xyz, c3, v0.w add r0.xyz, r0, r3 mov r3.xyz, -c3 add r0.xyz, r0, r3 mov r2.xy, r2 add r3.xyz, r0, c4.z dp3 r0.w, r3, r3 rsq r0.w, r0.w mul r3.xyz, r3, r0.w mov r3.xyz, r3 mul r0.w, r3.y, c4.w add r3.w, r0.w, c5.x add r4.xyz, r3.xwzw, c4.z dp3 r0.w, r4, r4 rsq r0.w, r0.w mul r4.xy, r4.xzzw, r0.w mov r0.w, -r4.x max r2.w, r4.x, r0.w mov r3.w, -r2.w add r3.w, r3.w, c4.y rsq r3.w, r3.w rcp r3.w, r3.w mul r4.z, r2.w, c5.y add r4.z, r4.z, c5.z mul r4.z, r2.w, r4.z add r4.z, r4.z, c5.w mul r2.w, r2.w, r4.z add r2.w, r2.w, c6.x mul r2.w, r3.w, r2.w mul r3.w, r2.w, c6.y add r3.w, r3.w, c6.z slt r0.w, r4.x, r0.w mul r0.w, r3.w, r0.w add r0.w, r2.w, r0.w mov r0.w, -r0.w add r0.w, r0.w, c6.w mul r0.w, r0.w, c7.x add r4.z, r0.w, c5.x mov r0.w, -r4.y max r2.w, r4.y, r0.w mov r3.w, -r2.w add r3.w, r3.w, c4.y rsq r3.w, r3.w rcp r3.w, r3.w mul r4.x, r2.w, c5.y add r4.x, r4.x, c5.z mul r4.x, r2.w, r4.x add r4.x, r4.x, c5.w mul r2.w, r2.w, r4.x add r2.w, r2.w, c6.x mul r2.w, r3.w, r2.w mul r3.w, r2.w, c6.y add r3.w, r3.w, c6.z slt r0.w, r4.y, r0.w mul r0.w, r3.w, r0.w add r0.w, r2.w, r0.w mov r0.w, -r0.w add r0.w, r0.w, c6.w mul r0.w, r0.w, c7.x add r4.w, r0.w, c5.x add r4.zw, r4, c74.xyxy mul r4.xy, r4.zwzw, c73.x mov r3.zw, -r3.xyxz add r3.zw, r3, c64.xyxz mov r5.y, c7.y mul r5.xy, r5.y, c70.x mul r3.zw, r3, r5.xyxy mov r5.xy, r2 mov r3.zw, r3 mul r5.zw, r5.xyxy, -c6.y add r5.zw, r5, -c4.y mul r0.w, r5.z, r5.z mul r2.w, r5.w, r5.w add r0.w, r0.w, r2.w mov r0.w, -r0.w add r0.w, r0.w, c4.y mul r3.zw, r3, r0.w add r6.xy, r2, r3.zwzw add r3.zw, r5.xyxy, -c5.x mul r0.w, r3.z, r3.z mul r2.w, r3.w, r3.w add r0.w, r0.w, r2.w add r3.zw, r3, c4.z mul r2.w, r3.z, r3.z mul r5.x, r3.w, r3.w add r2.w, r2.w, r5.x rsq r2.w, r2.w mul r3.zw, r3, r2.w mul r3.zw, r0.w, r3 mul r3.zw, r3, c4.y mov r3.zw, r3 mul r3.zw, r3, c72.z add r6.zw, r3, c75.xyxy add r3.zw, r2.xyxy, -c5.x mul r3.zw, r3, c69.w mul r0.w, r3.z, r3.z mul r2.w, r3.w, r3.w add r0.w, r0.w, r2.w rsq r0.w, r0.w rcp r0.w, r0.w mov r0.w, -r0.w add r5.z, r0.w, c4.y add r5.xy, r3.zwzw, c5.x mov r5.xy, r5 mov r5.z, r5.z rcp r0.w, r1.w mul r0.w, r1.z, r0.w mov r0.w, -r0.w add r2.z, r0.w, c4.y mov r3.xy, r3 mul r0.w, r3.y, c68.x max r0.w, r0.w, c4.x min r0.w, r0.w, c4.y mov r0.w, -r0.w add r0.w, r0.w, c4.y mul r0.w, r0.w, c71.x mov r3.x, r3.x mul r2.w, r3.x, c4.y add r2.w, r2.w, c4.x mul r2.w, r2.w, c5.x add r2.w, r2.w, c5.x mov r3.xyz, -c67 add r3.xyz, r3, c66 mul r3.xyz, r2.w, r3 add r3.xyz, r3, c67 mul r3.xyz, r0.w, r3 add r3.xyz, r3, c65 mov r3.xyz, r3 mov r1, r1 mov r6.xy, r6 mov r6.zw, r6 mov r4.xy, r4 mov r4.zw, r4 mov r2.xy, r2 mov r2.z, r2.z mov r0.xyz, r0 mov r5.xy, r5 mov r5.z, r5.z mov r3.xyz, r3 mov o0, r1 mov o3, r6 mov o4, r4 mov o1.xyz, r2 mov o2.xyz, r0 mov o5.xyz, r5 mov o6.xyz, r3 // approximately 166 instruction slots used }; pixelshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // float CloudBias; // float4 CloudColor; // float CloudFadeOut; // float CloudInscatteringRange; // float CloudShadowStrength; // float4 CloudThicknessEdgeSmoothDetailScaleStrength; // float CloudThreshold; // sampler2D GalaxySampler; // float HDRExposure; // float3 HDRExposureClamp; // float3 HDRSunExposure; // sampler2D HighDetailNoiseSampler; // sampler2D PerlinNoiseSampler; // float4 StarFieldBrightness; // float3 SunCentre; // float3 SunColor; // float4 SunDirection; // float SunSize; // float4 SunsetColor; // float4 TopCloudBiasDetailThresholdHeight; // float3 TopCloudColor; // float3 gtaSkyDomeFade; // float3 gtaWaterColor; // // // Registers: // // Name Reg Size // ------------------------------------------- ----- ---- // SunCentre c64 1 // SunDirection c65 1 // SunColor c66 1 // gtaSkyDomeFade c67 1 // gtaWaterColor c68 1 // CloudColor c69 1 // SunsetColor c70 1 // CloudThreshold c71 1 // CloudBias c72 1 // CloudFadeOut c73 1 // TopCloudBiasDetailThresholdHeight c74 1 // TopCloudColor c75 1 // CloudShadowStrength c76 1 // CloudInscatteringRange c77 1 // CloudThicknessEdgeSmoothDetailScaleStrength c78 1 // StarFieldBrightness c79 1 // SunSize c80 1 // HDRExposure c81 1 // HDRSunExposure c82 1 // HDRExposureClamp c83 1 // GalaxySampler s0 1 // PerlinNoiseSampler s1 1 // HighDetailNoiseSampler s2 1 // ps_3_0 def c0, 9.99999975e-006, 1, 0, 0 def c1, 25.1599998, 0.5, -0.0625, -0.461699992 def c2, 0.9375, 0.5, 32, 0.600000024 def c3, 4, -2, 3, 0.200000003 def c4, 0.349999994, 0, 0, 0 dcl_texcoord_pp v0.xy dcl_texcoord1_pp v1.xyz dcl_texcoord2_pp v2 dcl_texcoord3_pp v3.zw dcl_texcoord4_pp v4.xyz dcl_texcoord5_pp v5.xyz dcl_2d s0 dcl_2d s1 dcl_2d s2 mov r0.xyz, v1 mov_pp r1.xyz, v5 mov_pp r2.xy, v2 mov_pp r2.z, v4.z mov_pp r0.w, r0.y mov_pp r3.xyz, c65 add r0.xyz, r0, c0.x dp3 r1.w, r0, r0 rsq r1.w, r1.w mul_pp r0.xyz, r0, r1.w mov_pp r4.xyz, c66 mov r1.w, c65.w mov r3.xyz, r3 mov r0.xyz, r0 mov r2.w, c80.x mov r3.w, -c82.y add r3.w, r3.w, c0.y add r4.w, r3.w, c0.z cmp r3.w, r4.w, r3.w, c0.w add r4.w, r3.w, -c0.y cmp r3.w, r4.w, c0.y, r3.w mul r3.w, r3.w, c1.x dp3 r3.x, r0, r3 mul r5.x, r3.w, c1.y mov r5.yz, c1.xzyw mul r3.xyz, r3.x, r5 mul r5.x, r3.w, c1.w mov r5.yz, c2.xxyw add r3.xyz, r3, r5 add r5.xyz, r3, c0.z cmp r3.xyz, r5, r3, c0.w add r5.xyz, r3, -c0.y cmp r3.xyz, r5.zxyw, c0.y, r3.zxyw mov r3.w, -r3.y mov r4.w, -r3.w add r4.w, r3.y, r4.w cmp r3.y, r4.w, r3.y, r3.w log r3.y, r3.y mul r3.y, r3.y, c2.z exp r3.y, r3.y mov r3.w, -r3.z mov r4.w, -r3.w add r4.w, r3.z, r4.w cmp r3.z, r4.w, r3.z, r3.w mul r3.w, r3.z, c0.y mul r3.z, r3.z, r3.z mul r3.z, r3.w, r3.z add r1.w, r1.w, c2.w add r3.w, r1.w, c0.z cmp r1.w, r3.w, r1.w, c0.w add r3.w, r1.w, -c0.y cmp r1.w, r3.w, c0.y, r1.w mul r1.w, r3.z, r1.w mov r1.w, -r1.w add r1.w, r3.y, r1.w mul r2.w, r2.w, r3.x add r1.w, r1.w, r2.w mul r1.w, r1.w, c1.y add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp r1.w, r2.w, c0.y, r1.w mul r1.w, r1.w, c3.x mov r2.w, c64.x mov r3.y, c64.y mov r3.x, r3.x mul r3.x, r3.y, r3.x add r2.w, r2.w, r3.x add r3.x, r2.w, c0.z cmp r2.w, r3.x, r2.w, c0.w add r3.x, r2.w, -c0.y cmp r2.w, r3.x, c0.y, r2.w mul r3.x, r2.w, r2.w mul r2.w, r2.w, c3.y add r2.w, r2.w, c3.z mul r2.w, r3.x, r2.w mul r2.w, r2.w, c64.z add r3.xyz, r1.w, r2.w mov r1.w, -r3.z add r1.w, r1.w, c0.y add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp_pp r3.w, r2.w, c0.y, r1.w mov_pp r3.xyz, r3 mov_pp r3, r3 mul_pp r4.xyz, r4, r3 mov_pp r5.xyz, -r4 mov_pp r6.xyz, -r5 add_pp r6.xyz, r4, r6 cmp_pp r5.xyz, r6, r4, r5 mul_pp r5.xyz, r5, r5 mul_pp r5.xyz, r5, r5 mul_pp r5.xyz, r5, c0.y add_pp r3.xyz, r4, r5 mul_pp r3, r3, c82.x mov_pp r1.xyz, r1 mov_pp r2.xyz, r2 mov_pp r3, r3 texld_pp r4, v0, s1 mov_pp r4.xy, r4.xzzw texld r5, v2.zwzw, s2 add r1.w, r5.x, -c1.y mul r2.w, r1.w, c78.w add_pp r4.x, r4.x, r2.w mul r4.x, r4.x, c71.x mov r4.z, -c72.x add r4.x, r4.x, r4.z add r4.w, r4.x, c0.z cmp r4.x, r4.w, r4.x, c0.w add r4.w, r4.x, -c0.y cmp r4.x, r4.w, c0.y, r4.x mov_pp r4.w, -r4.x mov_pp r5.x, -r4.w add_pp r5.x, r4.x, r5.x cmp_pp r4.w, r5.x, r4.x, r4.w log r4.w, r4.w mul r4.w, r4.w, c78.x exp r4.w, r4.w mul r4.x, r4.x, c78.y add r5.x, r4.x, c0.z cmp r4.x, r5.x, r4.x, c0.w add r5.x, r4.x, -c0.y cmp r4.x, r5.x, c0.y, r4.x mul r4.x, r4.w, r4.x texld_pp r5, v2, s1 mov_pp r5.x, r5.x mul r2.xy, r2, c78.z texld r6, r2, s2 mul r2.x, r6.x, c78.w mul r2.x, r2.x, c3.w add_pp r2.x, r5.x, r2.x mul r2.x, r2.x, c71.x add r2.x, r4.z, r2.x mul r2.x, r2.x, c76.x add r2.y, r2.x, c0.z cmp r2.x, r2.y, r2.x, c0.w add r2.y, r2.x, -c0.y cmp r2.x, r2.y, c0.y, r2.x texld_pp r5, v4, s1 mov_pp r2.y, r5.y mul r2.w, r2.w, c74.y add_pp r2.y, r2.y, r2.w mul r2.y, r2.y, c74.z mov r2.w, -c74.x add r2.y, r2.y, r2.w add r2.w, r2.y, c0.z cmp r2.y, r2.w, r2.y, c0.w add r2.w, r2.y, -c0.y cmp r2.y, r2.w, c0.y, r2.y mul_pp r2.y, r2.z, r2.y dp3 r0.x, r0, c65 mul_pp r0.z, r0.x, r0.x mov r2.z, -r4.x add r2.z, r2.z, c0.y mul r2.w, r2.x, c1.y mov r2.w, -r2.w add r2.w, r2.z, r2.w add r4.z, r2.w, c0.z cmp r2.w, r4.z, r2.w, c0.w add r4.z, r2.w, -c0.y cmp r2.w, r4.z, c0.y, r2.w mul r0.z, r0.z, r2.w mul r0.z, r0.z, c77.x add_pp r0.z, r0.z, c0.y mul r0.z, r0.z, c0.y mul r1.w, r1.w, c3.w add r1.w, r4.y, r1.w add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp r1.w, r2.w, c0.y, r1.w mov r2.w, -r2.x add r2.w, r2.w, c0.y mul r2.w, r4.x, r2.w mul r2.w, r1.w, r2.w add_pp r1.w, r1.w, r2.w mul r0.x, r0.x, c1.y mul r0.x, r0.x, c1.y add r0.x, r0.x, c4.x mul_pp r0.x, r1.w, r0.x mul r4.yzw, r0.z, c69.xxyz mov r5.xyz, -r2.x add r4.yzw, r4, r5.xxyz mul r5.xyz, r0.x, c70 add_pp r4.yzw, r4, r5.xxyz mov_pp r5.xyz, c75 mul r0.x, r2.y, r2.z mov_pp r2.xyw, -r4.yzzw add_pp r2.xyw, r5.xyzz, r2 mul_pp r2.xyw, r0.x, r2 add_pp r2.xyw, r4.yzzw, r2 mul r0.x, r2.z, r0.x add_pp r0.x, r4.x, r0.x mul_pp r1.xyz, r1, r3.w add_pp r4.xyz, r1, c0.z cmp_pp r1.xyz, r4, r1, c0.w add_pp r4.xyz, r1, -c0.y cmp_pp r1.xyz, r4, c0.y, r1 add_pp r1.xyz, r3, r1 texld r3, v3.zwzw, s0 mul_pp r3.xyz, r3, c79.y add_pp r1.xyz, r1, r3 mul r0.y, r0.y, c3.x mov r0.z, -c73.x add r0.y, r0.y, r0.z add r0.z, r0.y, c0.z cmp r0.y, r0.z, r0.y, c0.w add r0.z, r0.y, -c0.y cmp_pp r0.y, r0.z, c0.y, r0.y mul_pp r0.x, r0.x, r0.y mov_pp r3.xyz, -r1 add_pp r2.xyz, r2.xyww, r3 mul_pp r0.xyz, r0.x, r2 add_pp r0.xyz, r1, r0 mul_pp r0.xyz, r0, c81.x mov r1.xyz, -r0 add r1.xyz, r1, c83 cmp_pp r0.xyz, r1, r0, c83 mov_pp r0.xyz, r0 mov_pp r0.xyz, r0 mov r1.xyz, -c83 add r1.xyz, r0, r1 cmp r0.xyz, r1, c83, r0 mov r0.xyz, r0 mov r0.xyz, r0 mov r0.xyz, r0 mov r0.w, -r0.w add r0.w, r0.w, c67.x mul r0.w, r0.w, c67.y add r1.x, r0.w, c0.z cmp r0.w, r1.x, r0.w, c0.w add r1.x, r0.w, -c0.y cmp r0.w, r1.x, c0.y, r0.w mov r1.xyz, c68 mov r2.xyz, -r0 add r1.xyz, r1, r2 mul r1.xyz, r0.w, r1 add r0.xyz, r0, r1 mov r0.xyz, r0 mov r0.w, c0.y mov oC0, r0 // approximately 242 instruction slots used (6 texture, 236 arithmetic) }; } } technique unlit_draw { pass p0 { vertexshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // float3 AzimuthColor; // float3 AzimuthColorEast; // float AzimuthHeight; // float AzimuthStrength; // float CloudShadowOffset; // float4 CloudThicknessEdgeSmoothDetailScaleStrength; // float2 DetailOffset; // float2 GalaxyOffset; // float3 SkyColor; // float StarFieldUVRepeat; // float4 SunDirection; // float4 TopCloudBiasDetailThresholdHeight; // row_major float4x4 gWorld; // row_major float4x4 gWorldViewProj; // // // Registers: // // Name Reg Size // ------------------------------------------- ----- ---- // gWorld c0 4 // gWorldViewProj c8 4 // SunDirection c64 1 // SkyColor c65 1 // AzimuthColor c66 1 // AzimuthColorEast c67 1 // AzimuthHeight c68 1 // TopCloudBiasDetailThresholdHeight c69 1 // CloudShadowOffset c70 1 // AzimuthStrength c71 1 // CloudThicknessEdgeSmoothDetailScaleStrength c72 1 // StarFieldUVRepeat c73 1 // GalaxyOffset c74 1 // DetailOffset c75 1 // vs_3_0 def c4, 0, 1, 9.99999975e-006, 1.5 def c5, 0.5, -0.0187292993, 0.0742610022, -0.212114394 def c6, 1.57072878, -2, 3.14159274, 1.57079637 def c7, 0.317732662, 0.100000001, 0, 0 dcl_position v0 dcl_texcoord v1 dcl_position o0 dcl_texcoord o1.xyz dcl_texcoord1 o2.xyz dcl_texcoord2 o3 dcl_texcoord3 o4 dcl_texcoord4 o5.xyz dcl_texcoord5 o6.xyz mov r0.x, -v0.y max r0.x, r0.x, c4.x min r0.x, r0.x, c4.y mov r0.x, -r0.x add r0.x, r0.x, v0.y mul r1, c8, v0.x mul r2, r0.x, c9 add r1, r1, r2 mul r2, c10, v0.z add r1, r1, r2 mul r2, c11, v0.w add r1, r1, r2 mov r1, r1 mov r2.xy, v1 mov r1, r1 mul r0.yzw, c0.xxyz, v0.x mul r3.xyz, r0.x, c1 add r0.xyz, r0.yzww, r3 mul r3.xyz, c2, v0.z add r0.xyz, r0, r3 mul r3.xyz, c3, v0.w add r0.xyz, r0, r3 mov r3.xyz, -c3 add r0.xyz, r0, r3 mov r2.xy, r2 add r3.xyz, r0, c4.z dp3 r0.w, r3, r3 rsq r0.w, r0.w mul r3.xyz, r3, r0.w mov r3.xyz, r3 mul r0.w, r3.y, c4.w add r3.w, r0.w, c5.x add r4.xyz, r3.xwzw, c4.z dp3 r0.w, r4, r4 rsq r0.w, r0.w mul r4.xy, r4.xzzw, r0.w mov r0.w, -r4.x max r2.w, r4.x, r0.w mov r3.w, -r2.w add r3.w, r3.w, c4.y rsq r3.w, r3.w rcp r3.w, r3.w mul r4.z, r2.w, c5.y add r4.z, r4.z, c5.z mul r4.z, r2.w, r4.z add r4.z, r4.z, c5.w mul r2.w, r2.w, r4.z add r2.w, r2.w, c6.x mul r2.w, r3.w, r2.w mul r3.w, r2.w, c6.y add r3.w, r3.w, c6.z slt r0.w, r4.x, r0.w mul r0.w, r3.w, r0.w add r0.w, r2.w, r0.w mov r0.w, -r0.w add r0.w, r0.w, c6.w mul r0.w, r0.w, c7.x add r4.z, r0.w, c5.x mov r0.w, -r4.y max r2.w, r4.y, r0.w mov r3.w, -r2.w add r3.w, r3.w, c4.y rsq r3.w, r3.w rcp r3.w, r3.w mul r4.x, r2.w, c5.y add r4.x, r4.x, c5.z mul r4.x, r2.w, r4.x add r4.x, r4.x, c5.w mul r2.w, r2.w, r4.x add r2.w, r2.w, c6.x mul r2.w, r3.w, r2.w mul r3.w, r2.w, c6.y add r3.w, r3.w, c6.z slt r0.w, r4.y, r0.w mul r0.w, r3.w, r0.w add r0.w, r2.w, r0.w mov r0.w, -r0.w add r0.w, r0.w, c6.w mul r0.w, r0.w, c7.x add r4.w, r0.w, c5.x add r4.zw, r4, c74.xyxy mul r4.xy, r4.zwzw, c73.x mov r3.zw, -r3.xyxz add r3.zw, r3, c64.xyxz mov r5.y, c7.y mul r5.xy, r5.y, c70.x mul r3.zw, r3, r5.xyxy mov r5.xy, r2 mov r3.zw, r3 mul r5.zw, r5.xyxy, -c6.y add r5.zw, r5, -c4.y mul r0.w, r5.z, r5.z mul r2.w, r5.w, r5.w add r0.w, r0.w, r2.w mov r0.w, -r0.w add r0.w, r0.w, c4.y mul r3.zw, r3, r0.w add r6.xy, r2, r3.zwzw add r3.zw, r5.xyxy, -c5.x mul r0.w, r3.z, r3.z mul r2.w, r3.w, r3.w add r0.w, r0.w, r2.w add r3.zw, r3, c4.z mul r2.w, r3.z, r3.z mul r5.x, r3.w, r3.w add r2.w, r2.w, r5.x rsq r2.w, r2.w mul r3.zw, r3, r2.w mul r3.zw, r0.w, r3 mul r3.zw, r3, c4.y mov r3.zw, r3 mul r3.zw, r3, c72.z add r6.zw, r3, c75.xyxy add r3.zw, r2.xyxy, -c5.x mul r3.zw, r3, c69.w mul r0.w, r3.z, r3.z mul r2.w, r3.w, r3.w add r0.w, r0.w, r2.w rsq r0.w, r0.w rcp r0.w, r0.w mov r0.w, -r0.w add r5.z, r0.w, c4.y add r5.xy, r3.zwzw, c5.x mov r5.xy, r5 mov r5.z, r5.z rcp r0.w, r1.w mul r0.w, r1.z, r0.w mov r0.w, -r0.w add r2.z, r0.w, c4.y mov r3.xy, r3 mul r0.w, r3.y, c68.x max r0.w, r0.w, c4.x min r0.w, r0.w, c4.y mov r0.w, -r0.w add r0.w, r0.w, c4.y mul r0.w, r0.w, c71.x mov r3.x, r3.x mul r2.w, r3.x, c4.y add r2.w, r2.w, c4.x mul r2.w, r2.w, c5.x add r2.w, r2.w, c5.x mov r3.xyz, -c67 add r3.xyz, r3, c66 mul r3.xyz, r2.w, r3 add r3.xyz, r3, c67 mul r3.xyz, r0.w, r3 add r3.xyz, r3, c65 mov r3.xyz, r3 mov r1, r1 mov r6.xy, r6 mov r6.zw, r6 mov r4.xy, r4 mov r4.zw, r4 mov r2.xy, r2 mov r2.z, r2.z mov r0.xyz, r0 mov r5.xy, r5 mov r5.z, r5.z mov r3.xyz, r3 mov o0, r1 mov o3, r6 mov o4, r4 mov o1.xyz, r2 mov o2.xyz, r0 mov o5.xyz, r5 mov o6.xyz, r3 // approximately 166 instruction slots used }; pixelshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // float CloudBias; // float4 CloudColor; // float CloudFadeOut; // float CloudInscatteringRange; // float CloudShadowStrength; // float4 CloudThicknessEdgeSmoothDetailScaleStrength; // float CloudThreshold; // sampler2D GalaxySampler; // float HDRExposure; // float3 HDRExposureClamp; // float3 HDRSunExposure; // sampler2D HighDetailNoiseSampler; // sampler2D PerlinNoiseSampler; // float4 StarFieldBrightness; // float3 SunCentre; // float3 SunColor; // float4 SunDirection; // float SunSize; // float4 SunsetColor; // float4 TopCloudBiasDetailThresholdHeight; // float3 TopCloudColor; // float3 gtaSkyDomeFade; // float3 gtaWaterColor; // // // Registers: // // Name Reg Size // ------------------------------------------- ----- ---- // SunCentre c64 1 // SunDirection c65 1 // SunColor c66 1 // gtaSkyDomeFade c67 1 // gtaWaterColor c68 1 // CloudColor c69 1 // SunsetColor c70 1 // CloudThreshold c71 1 // CloudBias c72 1 // CloudFadeOut c73 1 // TopCloudBiasDetailThresholdHeight c74 1 // TopCloudColor c75 1 // CloudShadowStrength c76 1 // CloudInscatteringRange c77 1 // CloudThicknessEdgeSmoothDetailScaleStrength c78 1 // StarFieldBrightness c79 1 // SunSize c80 1 // HDRExposure c81 1 // HDRSunExposure c82 1 // HDRExposureClamp c83 1 // GalaxySampler s0 1 // PerlinNoiseSampler s1 1 // HighDetailNoiseSampler s2 1 // ps_3_0 def c0, 9.99999975e-006, 1, 0, 0 def c1, 25.1599998, 0.5, -0.0625, -0.461699992 def c2, 0.9375, 0.5, 32, 0.600000024 def c3, 4, -2, 3, 0.200000003 def c4, 0.349999994, 0, 0, 0 dcl_texcoord_pp v0.xy dcl_texcoord1_pp v1.xyz dcl_texcoord2_pp v2 dcl_texcoord3_pp v3.zw dcl_texcoord4_pp v4.xyz dcl_texcoord5_pp v5.xyz dcl_2d s0 dcl_2d s1 dcl_2d s2 mov r0.xyz, v1 mov_pp r1.xyz, v5 mov_pp r2.xy, v2 mov_pp r2.z, v4.z mov_pp r0.w, r0.y mov_pp r3.xyz, c65 add r0.xyz, r0, c0.x dp3 r1.w, r0, r0 rsq r1.w, r1.w mul_pp r0.xyz, r0, r1.w mov_pp r4.xyz, c66 mov r1.w, c65.w mov r3.xyz, r3 mov r0.xyz, r0 mov r2.w, c80.x mov r3.w, -c82.y add r3.w, r3.w, c0.y add r4.w, r3.w, c0.z cmp r3.w, r4.w, r3.w, c0.w add r4.w, r3.w, -c0.y cmp r3.w, r4.w, c0.y, r3.w mul r3.w, r3.w, c1.x dp3 r3.x, r0, r3 mul r5.x, r3.w, c1.y mov r5.yz, c1.xzyw mul r3.xyz, r3.x, r5 mul r5.x, r3.w, c1.w mov r5.yz, c2.xxyw add r3.xyz, r3, r5 add r5.xyz, r3, c0.z cmp r3.xyz, r5, r3, c0.w add r5.xyz, r3, -c0.y cmp r3.xyz, r5.zxyw, c0.y, r3.zxyw mov r3.w, -r3.y mov r4.w, -r3.w add r4.w, r3.y, r4.w cmp r3.y, r4.w, r3.y, r3.w log r3.y, r3.y mul r3.y, r3.y, c2.z exp r3.y, r3.y mov r3.w, -r3.z mov r4.w, -r3.w add r4.w, r3.z, r4.w cmp r3.z, r4.w, r3.z, r3.w mul r3.w, r3.z, c0.y mul r3.z, r3.z, r3.z mul r3.z, r3.w, r3.z add r1.w, r1.w, c2.w add r3.w, r1.w, c0.z cmp r1.w, r3.w, r1.w, c0.w add r3.w, r1.w, -c0.y cmp r1.w, r3.w, c0.y, r1.w mul r1.w, r3.z, r1.w mov r1.w, -r1.w add r1.w, r3.y, r1.w mul r2.w, r2.w, r3.x add r1.w, r1.w, r2.w mul r1.w, r1.w, c1.y add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp r1.w, r2.w, c0.y, r1.w mul r1.w, r1.w, c3.x mov r2.w, c64.x mov r3.y, c64.y mov r3.x, r3.x mul r3.x, r3.y, r3.x add r2.w, r2.w, r3.x add r3.x, r2.w, c0.z cmp r2.w, r3.x, r2.w, c0.w add r3.x, r2.w, -c0.y cmp r2.w, r3.x, c0.y, r2.w mul r3.x, r2.w, r2.w mul r2.w, r2.w, c3.y add r2.w, r2.w, c3.z mul r2.w, r3.x, r2.w mul r2.w, r2.w, c64.z add r3.xyz, r1.w, r2.w mov r1.w, -r3.z add r1.w, r1.w, c0.y add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp_pp r3.w, r2.w, c0.y, r1.w mov_pp r3.xyz, r3 mov_pp r3, r3 mul_pp r4.xyz, r4, r3 mov_pp r5.xyz, -r4 mov_pp r6.xyz, -r5 add_pp r6.xyz, r4, r6 cmp_pp r5.xyz, r6, r4, r5 mul_pp r5.xyz, r5, r5 mul_pp r5.xyz, r5, r5 mul_pp r5.xyz, r5, c0.y add_pp r3.xyz, r4, r5 mul_pp r3, r3, c82.x mov_pp r1.xyz, r1 mov_pp r2.xyz, r2 mov_pp r3, r3 texld_pp r4, v0, s1 mov_pp r4.xy, r4.xzzw texld r5, v2.zwzw, s2 add r1.w, r5.x, -c1.y mul r2.w, r1.w, c78.w add_pp r4.x, r4.x, r2.w mul r4.x, r4.x, c71.x mov r4.z, -c72.x add r4.x, r4.x, r4.z add r4.w, r4.x, c0.z cmp r4.x, r4.w, r4.x, c0.w add r4.w, r4.x, -c0.y cmp r4.x, r4.w, c0.y, r4.x mov_pp r4.w, -r4.x mov_pp r5.x, -r4.w add_pp r5.x, r4.x, r5.x cmp_pp r4.w, r5.x, r4.x, r4.w log r4.w, r4.w mul r4.w, r4.w, c78.x exp r4.w, r4.w mul r4.x, r4.x, c78.y add r5.x, r4.x, c0.z cmp r4.x, r5.x, r4.x, c0.w add r5.x, r4.x, -c0.y cmp r4.x, r5.x, c0.y, r4.x mul r4.x, r4.w, r4.x texld_pp r5, v2, s1 mov_pp r5.x, r5.x mul r2.xy, r2, c78.z texld r6, r2, s2 mul r2.x, r6.x, c78.w mul r2.x, r2.x, c3.w add_pp r2.x, r5.x, r2.x mul r2.x, r2.x, c71.x add r2.x, r4.z, r2.x mul r2.x, r2.x, c76.x add r2.y, r2.x, c0.z cmp r2.x, r2.y, r2.x, c0.w add r2.y, r2.x, -c0.y cmp r2.x, r2.y, c0.y, r2.x texld_pp r5, v4, s1 mov_pp r2.y, r5.y mul r2.w, r2.w, c74.y add_pp r2.y, r2.y, r2.w mul r2.y, r2.y, c74.z mov r2.w, -c74.x add r2.y, r2.y, r2.w add r2.w, r2.y, c0.z cmp r2.y, r2.w, r2.y, c0.w add r2.w, r2.y, -c0.y cmp r2.y, r2.w, c0.y, r2.y mul_pp r2.y, r2.z, r2.y dp3 r0.x, r0, c65 mul_pp r0.z, r0.x, r0.x mov r2.z, -r4.x add r2.z, r2.z, c0.y mul r2.w, r2.x, c1.y mov r2.w, -r2.w add r2.w, r2.z, r2.w add r4.z, r2.w, c0.z cmp r2.w, r4.z, r2.w, c0.w add r4.z, r2.w, -c0.y cmp r2.w, r4.z, c0.y, r2.w mul r0.z, r0.z, r2.w mul r0.z, r0.z, c77.x add_pp r0.z, r0.z, c0.y mul r0.z, r0.z, c0.y mul r1.w, r1.w, c3.w add r1.w, r4.y, r1.w add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp r1.w, r2.w, c0.y, r1.w mov r2.w, -r2.x add r2.w, r2.w, c0.y mul r2.w, r4.x, r2.w mul r2.w, r1.w, r2.w add_pp r1.w, r1.w, r2.w mul r0.x, r0.x, c1.y mul r0.x, r0.x, c1.y add r0.x, r0.x, c4.x mul_pp r0.x, r1.w, r0.x mul r4.yzw, r0.z, c69.xxyz mov r5.xyz, -r2.x add r4.yzw, r4, r5.xxyz mul r5.xyz, r0.x, c70 add_pp r4.yzw, r4, r5.xxyz mov_pp r5.xyz, c75 mul r0.x, r2.y, r2.z mov_pp r2.xyw, -r4.yzzw add_pp r2.xyw, r5.xyzz, r2 mul_pp r2.xyw, r0.x, r2 add_pp r2.xyw, r4.yzzw, r2 mul r0.x, r2.z, r0.x add_pp r0.x, r4.x, r0.x mul_pp r1.xyz, r1, r3.w add_pp r4.xyz, r1, c0.z cmp_pp r1.xyz, r4, r1, c0.w add_pp r4.xyz, r1, -c0.y cmp_pp r1.xyz, r4, c0.y, r1 add_pp r1.xyz, r3, r1 texld r3, v3.zwzw, s0 mul_pp r3.xyz, r3, c79.y add_pp r1.xyz, r1, r3 mul r0.y, r0.y, c3.x mov r0.z, -c73.x add r0.y, r0.y, r0.z add r0.z, r0.y, c0.z cmp r0.y, r0.z, r0.y, c0.w add r0.z, r0.y, -c0.y cmp_pp r0.y, r0.z, c0.y, r0.y mul_pp r0.x, r0.x, r0.y mov_pp r3.xyz, -r1 add_pp r2.xyz, r2.xyww, r3 mul_pp r0.xyz, r0.x, r2 add_pp r0.xyz, r1, r0 mul_pp r0.xyz, r0, c81.x mov r1.xyz, -r0 add r1.xyz, r1, c83 cmp_pp r0.xyz, r1, r0, c83 mov_pp r0.xyz, r0 mov_pp r0.xyz, r0 mov r1.xyz, -c83 add r1.xyz, r0, r1 cmp r0.xyz, r1, c83, r0 mov r0.xyz, r0 mov r0.xyz, r0 mov r0.xyz, r0 mov r0.w, -r0.w add r0.w, r0.w, c67.x mul r0.w, r0.w, c67.y add r1.x, r0.w, c0.z cmp r0.w, r1.x, r0.w, c0.w add r1.x, r0.w, -c0.y cmp r0.w, r1.x, c0.y, r0.w mov r1.xyz, c68 mov r2.xyz, -r0 add r1.xyz, r1, r2 mul r1.xyz, r0.w, r1 add r0.xyz, r0, r1 mov r0.xyz, r0 mov r0.w, c0.y mov oC0, r0 // approximately 242 instruction slots used (6 texture, 236 arithmetic) }; } } technique dpskyfront_draw { pass p0 { vertexshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // float3 AzimuthColor; // float3 AzimuthColorEast; // float AzimuthHeight; // float AzimuthStrength; // float CloudShadowOffset; // float4 CloudThicknessEdgeSmoothDetailScaleStrength; // float2 DetailOffset; // float2 GalaxyOffset; // float3 SkyColor; // float StarFieldUVRepeat; // float4 SunDirection; // float4 TopCloudBiasDetailThresholdHeight; // float dpMapFarClip; // row_major float4x4 gWorld; // row_major float4x4 gWorldViewProj; // // // Registers: // // Name Reg Size // ------------------------------------------- ----- ---- // gWorld c0 4 // gWorldViewProj c8 4 // SunDirection c64 1 // SkyColor c65 1 // AzimuthColor c66 1 // AzimuthColorEast c67 1 // AzimuthHeight c68 1 // TopCloudBiasDetailThresholdHeight c69 1 // CloudShadowOffset c70 1 // AzimuthStrength c71 1 // CloudThicknessEdgeSmoothDetailScaleStrength c72 1 // StarFieldUVRepeat c73 1 // GalaxyOffset c74 1 // DetailOffset c75 1 // dpMapFarClip c76 1 // vs_3_0 def c4, 0.317732662, 0.100000001, 0, 0 def c5, 1, 0.5, -0.5, 9.99999975e-006 def c6, 1.5, -0.0187292993, 0.0742610022, -0.212114394 def c7, 1.57072878, -2, 3.14159274, 1.57079637 dcl_position v0 dcl_texcoord v1 dcl_position o0 dcl_texcoord o1.xyz dcl_texcoord1 o2.xyz dcl_texcoord2 o3 dcl_texcoord3 o4 dcl_texcoord4 o5.xyz dcl_texcoord5 o6.xyz mul r0, c8, v0.x mul r1, c9, v0.y add r0, r0, r1 mul r1, c10, v0.z add r0, r0, r1 mov r1.x, c5.x mul r1, r1.x, c11 add r0, r0, r1 mov r1.x, r0.z mov r1.y, -r0.w max r0.w, r0.w, r1.y rcp r2.x, r0.w rcp r2.y, r0.w rcp r2.z, r0.w mul r0.xyz, r0, r2 dp3 r0.w, r0, r0 rsq r0.w, r0.w rcp r0.w, r0.w rcp r2.x, r0.w rcp r2.y, r0.w rcp r2.z, r0.w mul r0.xyz, r0, r2 add r0.z, r0.z, c5.x rcp r0.z, r0.z mul r0.x, r0.x, r0.z mul r2.y, r0.y, r0.z rcp r0.y, c76.x mul r2.z, r1.x, r0.y mul r0.x, r0.x, c5.y add r2.x, r0.x, c5.z mov r2.x, r2.x mov r2.y, r2.y mov r2.z, r2.z mov r2.w, c5.x mov r2, r2 mov r2, r2 mov r0.xy, v1 mov r2, r2 mul r1.xyz, c0, v0.x mul r3.xyz, c1, v0.y add r1.xyz, r1, r3 mul r3.xyz, c2, v0.z add r1.xyz, r1, r3 mul r3.xyz, c3, v0.w add r1.xyz, r1, r3 mov r3.xyz, -c3 add r1.xyz, r1, r3 mov r0.xy, r0 add r3.xyz, r1, c5.w dp3 r0.w, r3, r3 rsq r0.w, r0.w mul r3.xyz, r3, r0.w mov r3.xyz, r3 mul r0.w, r3.y, c6.x add r3.w, r0.w, c5.y add r4.xyz, r3.xwzw, c5.w dp3 r0.w, r4, r4 rsq r0.w, r0.w mul r4.xy, r4.xzzw, r0.w mov r0.w, -r4.x max r1.w, r4.x, r0.w mov r3.w, -r1.w add r3.w, r3.w, c5.x rsq r3.w, r3.w rcp r3.w, r3.w mul r4.z, r1.w, c6.y add r4.z, r4.z, c6.z mul r4.z, r1.w, r4.z add r4.z, r4.z, c6.w mul r1.w, r1.w, r4.z add r1.w, r1.w, c7.x mul r1.w, r3.w, r1.w mul r3.w, r1.w, c7.y add r3.w, r3.w, c7.z slt r0.w, r4.x, r0.w mul r0.w, r3.w, r0.w add r0.w, r1.w, r0.w mov r0.w, -r0.w add r0.w, r0.w, c7.w mul r0.w, r0.w, c4.x add r4.z, r0.w, c5.y mov r0.w, -r4.y max r1.w, r4.y, r0.w mov r3.w, -r1.w add r3.w, r3.w, c5.x rsq r3.w, r3.w rcp r3.w, r3.w mul r4.x, r1.w, c6.y add r4.x, r4.x, c6.z mul r4.x, r1.w, r4.x add r4.x, r4.x, c6.w mul r1.w, r1.w, r4.x add r1.w, r1.w, c7.x mul r1.w, r3.w, r1.w mul r3.w, r1.w, c7.y add r3.w, r3.w, c7.z slt r0.w, r4.y, r0.w mul r0.w, r3.w, r0.w add r0.w, r1.w, r0.w mov r0.w, -r0.w add r0.w, r0.w, c7.w mul r0.w, r0.w, c4.x add r4.w, r0.w, c5.y add r4.zw, r4, c74.xyxy mul r4.xy, r4.zwzw, c73.x mov r3.zw, -r3.xyxz add r3.zw, r3, c64.xyxz mov r5.y, c4.y mul r5.xy, r5.y, c70.x mul r3.zw, r3, r5.xyxy mov r5.xy, r0 mov r3.zw, r3 mul r5.zw, r5.xyxy, -c7.y add r5.zw, r5, -c5.x mul r0.w, r5.z, r5.z mul r1.w, r5.w, r5.w add r0.w, r0.w, r1.w mov r0.w, -r0.w add r0.w, r0.w, c5.x mul r3.zw, r3, r0.w add r6.xy, r0, r3.zwzw add r3.zw, r5.xyxy, c5.z mul r0.w, r3.z, r3.z mul r1.w, r3.w, r3.w add r0.w, r0.w, r1.w add r3.zw, r3, c5.w mul r1.w, r3.z, r3.z mul r5.x, r3.w, r3.w add r1.w, r1.w, r5.x rsq r1.w, r1.w mul r3.zw, r3, r1.w mul r3.zw, r0.w, r3 mul r3.zw, r3, c5.x mov r3.zw, r3 mul r3.zw, r3, c72.z add r6.zw, r3, c75.xyxy add r3.zw, r0.xyxy, c5.z mul r3.zw, r3, c69.w mul r0.w, r3.z, r3.z mul r1.w, r3.w, r3.w add r0.w, r0.w, r1.w rsq r0.w, r0.w rcp r0.w, r0.w mov r0.w, -r0.w add r5.z, r0.w, c5.x add r5.xy, r3.zwzw, c5.y mov r5.xy, r5 mov r5.z, r5.z mul r0.w, r2.z, c5.x mov r0.w, -r0.w add r0.z, r0.w, c5.x mov r3.xy, r3 mul r0.w, r3.y, c68.x max r0.w, r0.w, c4.z min r0.w, r0.w, c5.x mov r0.w, -r0.w add r0.w, r0.w, c5.x mul r0.w, r0.w, c71.x mov r3.x, r3.x mul r1.w, r3.x, c5.x add r1.w, r1.w, c4.z mul r1.w, r1.w, c5.y add r1.w, r1.w, c5.y mov r3.xyz, -c67 add r3.xyz, r3, c66 mul r3.xyz, r1.w, r3 add r3.xyz, r3, c67 mul r3.xyz, r0.w, r3 add r3.xyz, r3, c65 mov r3.xyz, r3 mov r2, r2 mov r6.xy, r6 mov r6.zw, r6 mov r4.xy, r4 mov r4.zw, r4 mov r0.xy, r0 mov r0.z, r0.z mov r1.xyz, r1 mov r5.xy, r5 mov r5.z, r5.z mov r3.xyz, r3 mov o0, r2 mov o3, r6 mov o4, r4 mov o1.xyz, r0 mov o2.xyz, r1 mov o5.xyz, r5 mov o6.xyz, r3 // approximately 188 instruction slots used }; pixelshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // float CloudBias; // float4 CloudColor; // float CloudFadeOut; // float CloudInscatteringRange; // float CloudShadowStrength; // float4 CloudThicknessEdgeSmoothDetailScaleStrength; // float CloudThreshold; // sampler2D GalaxySampler; // float HDRExposure; // float3 HDRExposureClamp; // float3 HDRSunExposure; // sampler2D HighDetailNoiseSampler; // sampler2D PerlinNoiseSampler; // float4 StarFieldBrightness; // float3 SunCentre; // float3 SunColor; // float4 SunDirection; // float SunSize; // float4 SunsetColor; // float4 TopCloudBiasDetailThresholdHeight; // float3 TopCloudColor; // float3 gtaSkyDomeFade; // float3 gtaWaterColor; // // // Registers: // // Name Reg Size // ------------------------------------------- ----- ---- // SunCentre c64 1 // SunDirection c65 1 // SunColor c66 1 // gtaSkyDomeFade c67 1 // gtaWaterColor c68 1 // CloudColor c69 1 // SunsetColor c70 1 // CloudThreshold c71 1 // CloudBias c72 1 // CloudFadeOut c73 1 // TopCloudBiasDetailThresholdHeight c74 1 // TopCloudColor c75 1 // CloudShadowStrength c76 1 // CloudInscatteringRange c77 1 // CloudThicknessEdgeSmoothDetailScaleStrength c78 1 // StarFieldBrightness c79 1 // SunSize c80 1 // HDRExposure c81 1 // HDRSunExposure c82 1 // HDRExposureClamp c83 1 // GalaxySampler s0 1 // PerlinNoiseSampler s1 1 // HighDetailNoiseSampler s2 1 // ps_3_0 def c0, 9.99999975e-006, 1, 0, 0 def c1, 25.1599998, 0.5, -0.0625, -0.461699992 def c2, 0.9375, 0.5, 32, 0.600000024 def c3, 4, -2, 3, 0.200000003 def c4, 0.349999994, 0, 0, 0 dcl_texcoord_pp v0.xy dcl_texcoord1_pp v1.xyz dcl_texcoord2_pp v2 dcl_texcoord3_pp v3.zw dcl_texcoord4_pp v4.xyz dcl_texcoord5_pp v5.xyz dcl_2d s0 dcl_2d s1 dcl_2d s2 mov r0.xyz, v1 mov_pp r1.xyz, v5 mov_pp r2.xy, v2 mov_pp r2.z, v4.z mov_pp r0.w, r0.y mov_pp r3.xyz, c65 add r0.xyz, r0, c0.x dp3 r1.w, r0, r0 rsq r1.w, r1.w mul_pp r0.xyz, r0, r1.w mov_pp r4.xyz, c66 mov r1.w, c65.w mov r3.xyz, r3 mov r0.xyz, r0 mov r2.w, c80.x mov r3.w, -c82.y add r3.w, r3.w, c0.y add r4.w, r3.w, c0.z cmp r3.w, r4.w, r3.w, c0.w add r4.w, r3.w, -c0.y cmp r3.w, r4.w, c0.y, r3.w mul r3.w, r3.w, c1.x dp3 r3.x, r0, r3 mul r5.x, r3.w, c1.y mov r5.yz, c1.xzyw mul r3.xyz, r3.x, r5 mul r5.x, r3.w, c1.w mov r5.yz, c2.xxyw add r3.xyz, r3, r5 add r5.xyz, r3, c0.z cmp r3.xyz, r5, r3, c0.w add r5.xyz, r3, -c0.y cmp r3.xyz, r5.zxyw, c0.y, r3.zxyw mov r3.w, -r3.y mov r4.w, -r3.w add r4.w, r3.y, r4.w cmp r3.y, r4.w, r3.y, r3.w log r3.y, r3.y mul r3.y, r3.y, c2.z exp r3.y, r3.y mov r3.w, -r3.z mov r4.w, -r3.w add r4.w, r3.z, r4.w cmp r3.z, r4.w, r3.z, r3.w mul r3.w, r3.z, c0.y mul r3.z, r3.z, r3.z mul r3.z, r3.w, r3.z add r1.w, r1.w, c2.w add r3.w, r1.w, c0.z cmp r1.w, r3.w, r1.w, c0.w add r3.w, r1.w, -c0.y cmp r1.w, r3.w, c0.y, r1.w mul r1.w, r3.z, r1.w mov r1.w, -r1.w add r1.w, r3.y, r1.w mul r2.w, r2.w, r3.x add r1.w, r1.w, r2.w mul r1.w, r1.w, c1.y add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp r1.w, r2.w, c0.y, r1.w mul r1.w, r1.w, c3.x mov r2.w, c64.x mov r3.y, c64.y mov r3.x, r3.x mul r3.x, r3.y, r3.x add r2.w, r2.w, r3.x add r3.x, r2.w, c0.z cmp r2.w, r3.x, r2.w, c0.w add r3.x, r2.w, -c0.y cmp r2.w, r3.x, c0.y, r2.w mul r3.x, r2.w, r2.w mul r2.w, r2.w, c3.y add r2.w, r2.w, c3.z mul r2.w, r3.x, r2.w mul r2.w, r2.w, c64.z add r3.xyz, r1.w, r2.w mov r1.w, -r3.z add r1.w, r1.w, c0.y add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp_pp r3.w, r2.w, c0.y, r1.w mov_pp r3.xyz, r3 mov_pp r3, r3 mul_pp r4.xyz, r4, r3 mov_pp r5.xyz, -r4 mov_pp r6.xyz, -r5 add_pp r6.xyz, r4, r6 cmp_pp r5.xyz, r6, r4, r5 mul_pp r5.xyz, r5, r5 mul_pp r5.xyz, r5, r5 mul_pp r5.xyz, r5, c0.y add_pp r3.xyz, r4, r5 mul_pp r3, r3, c82.x mov_pp r1.xyz, r1 mov_pp r2.xyz, r2 mov_pp r3, r3 texld_pp r4, v0, s1 mov_pp r4.xy, r4.xzzw texld r5, v2.zwzw, s2 add r1.w, r5.x, -c1.y mul r2.w, r1.w, c78.w add_pp r4.x, r4.x, r2.w mul r4.x, r4.x, c71.x mov r4.z, -c72.x add r4.x, r4.x, r4.z add r4.w, r4.x, c0.z cmp r4.x, r4.w, r4.x, c0.w add r4.w, r4.x, -c0.y cmp r4.x, r4.w, c0.y, r4.x mov_pp r4.w, -r4.x mov_pp r5.x, -r4.w add_pp r5.x, r4.x, r5.x cmp_pp r4.w, r5.x, r4.x, r4.w log r4.w, r4.w mul r4.w, r4.w, c78.x exp r4.w, r4.w mul r4.x, r4.x, c78.y add r5.x, r4.x, c0.z cmp r4.x, r5.x, r4.x, c0.w add r5.x, r4.x, -c0.y cmp r4.x, r5.x, c0.y, r4.x mul r4.x, r4.w, r4.x texld_pp r5, v2, s1 mov_pp r5.x, r5.x mul r2.xy, r2, c78.z texld r6, r2, s2 mul r2.x, r6.x, c78.w mul r2.x, r2.x, c3.w add_pp r2.x, r5.x, r2.x mul r2.x, r2.x, c71.x add r2.x, r4.z, r2.x mul r2.x, r2.x, c76.x add r2.y, r2.x, c0.z cmp r2.x, r2.y, r2.x, c0.w add r2.y, r2.x, -c0.y cmp r2.x, r2.y, c0.y, r2.x texld_pp r5, v4, s1 mov_pp r2.y, r5.y mul r2.w, r2.w, c74.y add_pp r2.y, r2.y, r2.w mul r2.y, r2.y, c74.z mov r2.w, -c74.x add r2.y, r2.y, r2.w add r2.w, r2.y, c0.z cmp r2.y, r2.w, r2.y, c0.w add r2.w, r2.y, -c0.y cmp r2.y, r2.w, c0.y, r2.y mul_pp r2.y, r2.z, r2.y dp3 r0.x, r0, c65 mul_pp r0.z, r0.x, r0.x mov r2.z, -r4.x add r2.z, r2.z, c0.y mul r2.w, r2.x, c1.y mov r2.w, -r2.w add r2.w, r2.z, r2.w add r4.z, r2.w, c0.z cmp r2.w, r4.z, r2.w, c0.w add r4.z, r2.w, -c0.y cmp r2.w, r4.z, c0.y, r2.w mul r0.z, r0.z, r2.w mul r0.z, r0.z, c77.x add_pp r0.z, r0.z, c0.y mul r0.z, r0.z, c0.y mul r1.w, r1.w, c3.w add r1.w, r4.y, r1.w add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp r1.w, r2.w, c0.y, r1.w mov r2.w, -r2.x add r2.w, r2.w, c0.y mul r2.w, r4.x, r2.w mul r2.w, r1.w, r2.w add_pp r1.w, r1.w, r2.w mul r0.x, r0.x, c1.y mul r0.x, r0.x, c1.y add r0.x, r0.x, c4.x mul_pp r0.x, r1.w, r0.x mul r4.yzw, r0.z, c69.xxyz mov r5.xyz, -r2.x add r4.yzw, r4, r5.xxyz mul r5.xyz, r0.x, c70 add_pp r4.yzw, r4, r5.xxyz mov_pp r5.xyz, c75 mul r0.x, r2.y, r2.z mov_pp r2.xyw, -r4.yzzw add_pp r2.xyw, r5.xyzz, r2 mul_pp r2.xyw, r0.x, r2 add_pp r2.xyw, r4.yzzw, r2 mul r0.x, r2.z, r0.x add_pp r0.x, r4.x, r0.x mul_pp r1.xyz, r1, r3.w add_pp r4.xyz, r1, c0.z cmp_pp r1.xyz, r4, r1, c0.w add_pp r4.xyz, r1, -c0.y cmp_pp r1.xyz, r4, c0.y, r1 add_pp r1.xyz, r3, r1 texld r3, v3.zwzw, s0 mul_pp r3.xyz, r3, c79.y add_pp r1.xyz, r1, r3 mul r0.y, r0.y, c3.x mov r0.z, -c73.x add r0.y, r0.y, r0.z add r0.z, r0.y, c0.z cmp r0.y, r0.z, r0.y, c0.w add r0.z, r0.y, -c0.y cmp_pp r0.y, r0.z, c0.y, r0.y mul_pp r0.x, r0.x, r0.y mov_pp r3.xyz, -r1 add_pp r2.xyz, r2.xyww, r3 mul_pp r0.xyz, r0.x, r2 add_pp r0.xyz, r1, r0 mul_pp r0.xyz, r0, c81.x mov r1.xyz, -r0 add r1.xyz, r1, c83 cmp_pp r0.xyz, r1, r0, c83 mov_pp r0.xyz, r0 mov_pp r0.xyz, r0 mov r1.xyz, -c83 add r1.xyz, r0, r1 cmp r0.xyz, r1, c83, r0 mov r0.xyz, r0 mov r0.xyz, r0 mov r0.xyz, r0 mov r0.w, -r0.w add r0.w, r0.w, c67.x mul r0.w, r0.w, c67.y add r1.x, r0.w, c0.z cmp r0.w, r1.x, r0.w, c0.w add r1.x, r0.w, -c0.y cmp r0.w, r1.x, c0.y, r0.w mov r1.xyz, c68 mov r2.xyz, -r0 add r1.xyz, r1, r2 mul r1.xyz, r0.w, r1 add r0.xyz, r0, r1 mov r0.xyz, r0 mov r0.w, c0.y mov oC0, r0 // approximately 242 instruction slots used (6 texture, 236 arithmetic) }; } } technique dpskyback_draw { pass p0 { vertexshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // float3 AzimuthColor; // float3 AzimuthColorEast; // float AzimuthHeight; // float AzimuthStrength; // float CloudShadowOffset; // float4 CloudThicknessEdgeSmoothDetailScaleStrength; // float2 DetailOffset; // float2 GalaxyOffset; // float3 SkyColor; // float StarFieldUVRepeat; // float4 SunDirection; // float4 TopCloudBiasDetailThresholdHeight; // float dpMapFarClip; // row_major float4x4 gWorld; // row_major float4x4 gWorldViewProj; // // // Registers: // // Name Reg Size // ------------------------------------------- ----- ---- // gWorld c0 4 // gWorldViewProj c8 4 // SunDirection c64 1 // SkyColor c65 1 // AzimuthColor c66 1 // AzimuthColorEast c67 1 // AzimuthHeight c68 1 // TopCloudBiasDetailThresholdHeight c69 1 // CloudShadowOffset c70 1 // AzimuthStrength c71 1 // CloudThicknessEdgeSmoothDetailScaleStrength c72 1 // StarFieldUVRepeat c73 1 // GalaxyOffset c74 1 // DetailOffset c75 1 // dpMapFarClip c76 1 // vs_3_0 def c4, 0.100000001, 0, 0, 0 def c5, 1, 0.5, 9.99999975e-006, 1.5 def c6, -0.0187292993, 0.0742610022, -0.212114394, 1.57072878 def c7, -2, 3.14159274, 1.57079637, 0.317732662 dcl_position v0 dcl_texcoord v1 dcl_position o0 dcl_texcoord o1.xyz dcl_texcoord1 o2.xyz dcl_texcoord2 o3 dcl_texcoord3 o4 dcl_texcoord4 o5.xyz dcl_texcoord5 o6.xyz mul r0, c8, v0.x mul r1, c9, v0.y add r0, r0, r1 mul r1, c10, v0.z add r0, r0, r1 mov r1.x, c5.x mul r1, r1.x, c11 add r0, r0, r1 mov r1.x, r0.z mov r1.y, -r0.w max r0.w, r0.w, r1.y rcp r2.x, r0.w rcp r2.y, r0.w rcp r2.z, r0.w mul r0.xyz, r0, r2 dp3 r0.w, r0, r0 rsq r0.w, r0.w rcp r0.w, r0.w rcp r2.x, r0.w rcp r2.y, r0.w rcp r2.z, r0.w mul r0.xyz, r0, r2 add r0.z, r0.z, c5.x rcp r0.z, r0.z mul r0.x, r0.x, r0.z mul r2.y, r0.y, r0.z rcp r0.y, c76.x mul r2.z, r1.x, r0.y mul r0.x, r0.x, c5.y add r2.x, r0.x, c5.y mov r2.x, r2.x mov r2.y, r2.y mov r2.z, r2.z mov r2.w, c5.x mov r2, r2 mov r2, r2 mov r0.xy, v1 mov r2, r2 mul r1.xyz, c0, v0.x mul r3.xyz, c1, v0.y add r1.xyz, r1, r3 mul r3.xyz, c2, v0.z add r1.xyz, r1, r3 mul r3.xyz, c3, v0.w add r1.xyz, r1, r3 mov r3.xyz, -c3 add r1.xyz, r1, r3 mov r0.xy, r0 add r3.xyz, r1, c5.z dp3 r0.w, r3, r3 rsq r0.w, r0.w mul r3.xyz, r3, r0.w mov r3.xyz, r3 mul r0.w, r3.y, c5.w add r3.w, r0.w, c5.y add r4.xyz, r3.xwzw, c5.z dp3 r0.w, r4, r4 rsq r0.w, r0.w mul r4.xy, r4.xzzw, r0.w mov r0.w, -r4.x max r1.w, r4.x, r0.w mov r3.w, -r1.w add r3.w, r3.w, c5.x rsq r3.w, r3.w rcp r3.w, r3.w mul r4.z, r1.w, c6.x add r4.z, r4.z, c6.y mul r4.z, r1.w, r4.z add r4.z, r4.z, c6.z mul r1.w, r1.w, r4.z add r1.w, r1.w, c6.w mul r1.w, r3.w, r1.w mul r3.w, r1.w, c7.x add r3.w, r3.w, c7.y slt r0.w, r4.x, r0.w mul r0.w, r3.w, r0.w add r0.w, r1.w, r0.w mov r0.w, -r0.w add r0.w, r0.w, c7.z mul r0.w, r0.w, c7.w add r4.z, r0.w, c5.y mov r0.w, -r4.y max r1.w, r4.y, r0.w mov r3.w, -r1.w add r3.w, r3.w, c5.x rsq r3.w, r3.w rcp r3.w, r3.w mul r4.x, r1.w, c6.x add r4.x, r4.x, c6.y mul r4.x, r1.w, r4.x add r4.x, r4.x, c6.z mul r1.w, r1.w, r4.x add r1.w, r1.w, c6.w mul r1.w, r3.w, r1.w mul r3.w, r1.w, c7.x add r3.w, r3.w, c7.y slt r0.w, r4.y, r0.w mul r0.w, r3.w, r0.w add r0.w, r1.w, r0.w mov r0.w, -r0.w add r0.w, r0.w, c7.z mul r0.w, r0.w, c7.w add r4.w, r0.w, c5.y add r4.zw, r4, c74.xyxy mul r4.xy, r4.zwzw, c73.x mov r3.zw, -r3.xyxz add r3.zw, r3, c64.xyxz mov r5.x, c4.x mul r5.xy, r5.x, c70.x mul r3.zw, r3, r5.xyxy mov r5.xy, r0 mov r3.zw, r3 mul r5.zw, r5.xyxy, -c7.x add r5.zw, r5, -c5.x mul r0.w, r5.z, r5.z mul r1.w, r5.w, r5.w add r0.w, r0.w, r1.w mov r0.w, -r0.w add r0.w, r0.w, c5.x mul r3.zw, r3, r0.w add r6.xy, r0, r3.zwzw add r3.zw, r5.xyxy, -c5.y mul r0.w, r3.z, r3.z mul r1.w, r3.w, r3.w add r0.w, r0.w, r1.w add r3.zw, r3, c5.z mul r1.w, r3.z, r3.z mul r5.x, r3.w, r3.w add r1.w, r1.w, r5.x rsq r1.w, r1.w mul r3.zw, r3, r1.w mul r3.zw, r0.w, r3 mul r3.zw, r3, c5.x mov r3.zw, r3 mul r3.zw, r3, c72.z add r6.zw, r3, c75.xyxy add r3.zw, r0.xyxy, -c5.y mul r3.zw, r3, c69.w mul r0.w, r3.z, r3.z mul r1.w, r3.w, r3.w add r0.w, r0.w, r1.w rsq r0.w, r0.w rcp r0.w, r0.w mov r0.w, -r0.w add r5.z, r0.w, c5.x add r5.xy, r3.zwzw, c5.y mov r5.xy, r5 mov r5.z, r5.z mul r0.w, r2.z, c5.x mov r0.w, -r0.w add r0.z, r0.w, c5.x mov r3.xy, r3 mul r0.w, r3.y, c68.x max r0.w, r0.w, c4.y min r0.w, r0.w, c5.x mov r0.w, -r0.w add r0.w, r0.w, c5.x mul r0.w, r0.w, c71.x mov r3.x, r3.x mul r1.w, r3.x, c5.x add r1.w, r1.w, c4.y mul r1.w, r1.w, c5.y add r1.w, r1.w, c5.y mov r3.xyz, -c67 add r3.xyz, r3, c66 mul r3.xyz, r1.w, r3 add r3.xyz, r3, c67 mul r3.xyz, r0.w, r3 add r3.xyz, r3, c65 mov r3.xyz, r3 mov r2, r2 mov r6.xy, r6 mov r6.zw, r6 mov r4.xy, r4 mov r4.zw, r4 mov r0.xy, r0 mov r0.z, r0.z mov r1.xyz, r1 mov r5.xy, r5 mov r5.z, r5.z mov r3.xyz, r3 mov o0, r2 mov o3, r6 mov o4, r4 mov o1.xyz, r0 mov o2.xyz, r1 mov o5.xyz, r5 mov o6.xyz, r3 // approximately 188 instruction slots used }; pixelshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // float CloudBias; // float4 CloudColor; // float CloudFadeOut; // float CloudInscatteringRange; // float CloudShadowStrength; // float4 CloudThicknessEdgeSmoothDetailScaleStrength; // float CloudThreshold; // sampler2D GalaxySampler; // float HDRExposure; // float3 HDRExposureClamp; // float3 HDRSunExposure; // sampler2D HighDetailNoiseSampler; // sampler2D PerlinNoiseSampler; // float4 StarFieldBrightness; // float3 SunCentre; // float3 SunColor; // float4 SunDirection; // float SunSize; // float4 SunsetColor; // float4 TopCloudBiasDetailThresholdHeight; // float3 TopCloudColor; // float3 gtaSkyDomeFade; // float3 gtaWaterColor; // // // Registers: // // Name Reg Size // ------------------------------------------- ----- ---- // SunCentre c64 1 // SunDirection c65 1 // SunColor c66 1 // gtaSkyDomeFade c67 1 // gtaWaterColor c68 1 // CloudColor c69 1 // SunsetColor c70 1 // CloudThreshold c71 1 // CloudBias c72 1 // CloudFadeOut c73 1 // TopCloudBiasDetailThresholdHeight c74 1 // TopCloudColor c75 1 // CloudShadowStrength c76 1 // CloudInscatteringRange c77 1 // CloudThicknessEdgeSmoothDetailScaleStrength c78 1 // StarFieldBrightness c79 1 // SunSize c80 1 // HDRExposure c81 1 // HDRSunExposure c82 1 // HDRExposureClamp c83 1 // GalaxySampler s0 1 // PerlinNoiseSampler s1 1 // HighDetailNoiseSampler s2 1 // ps_3_0 def c0, 9.99999975e-006, 1, 0, 0 def c1, 25.1599998, 0.5, -0.0625, -0.461699992 def c2, 0.9375, 0.5, 32, 0.600000024 def c3, 4, -2, 3, 0.200000003 def c4, 0.349999994, 0, 0, 0 dcl_texcoord_pp v0.xy dcl_texcoord1_pp v1.xyz dcl_texcoord2_pp v2 dcl_texcoord3_pp v3.zw dcl_texcoord4_pp v4.xyz dcl_texcoord5_pp v5.xyz dcl_2d s0 dcl_2d s1 dcl_2d s2 mov r0.xyz, v1 mov_pp r1.xyz, v5 mov_pp r2.xy, v2 mov_pp r2.z, v4.z mov_pp r0.w, r0.y mov_pp r3.xyz, c65 add r0.xyz, r0, c0.x dp3 r1.w, r0, r0 rsq r1.w, r1.w mul_pp r0.xyz, r0, r1.w mov_pp r4.xyz, c66 mov r1.w, c65.w mov r3.xyz, r3 mov r0.xyz, r0 mov r2.w, c80.x mov r3.w, -c82.y add r3.w, r3.w, c0.y add r4.w, r3.w, c0.z cmp r3.w, r4.w, r3.w, c0.w add r4.w, r3.w, -c0.y cmp r3.w, r4.w, c0.y, r3.w mul r3.w, r3.w, c1.x dp3 r3.x, r0, r3 mul r5.x, r3.w, c1.y mov r5.yz, c1.xzyw mul r3.xyz, r3.x, r5 mul r5.x, r3.w, c1.w mov r5.yz, c2.xxyw add r3.xyz, r3, r5 add r5.xyz, r3, c0.z cmp r3.xyz, r5, r3, c0.w add r5.xyz, r3, -c0.y cmp r3.xyz, r5.zxyw, c0.y, r3.zxyw mov r3.w, -r3.y mov r4.w, -r3.w add r4.w, r3.y, r4.w cmp r3.y, r4.w, r3.y, r3.w log r3.y, r3.y mul r3.y, r3.y, c2.z exp r3.y, r3.y mov r3.w, -r3.z mov r4.w, -r3.w add r4.w, r3.z, r4.w cmp r3.z, r4.w, r3.z, r3.w mul r3.w, r3.z, c0.y mul r3.z, r3.z, r3.z mul r3.z, r3.w, r3.z add r1.w, r1.w, c2.w add r3.w, r1.w, c0.z cmp r1.w, r3.w, r1.w, c0.w add r3.w, r1.w, -c0.y cmp r1.w, r3.w, c0.y, r1.w mul r1.w, r3.z, r1.w mov r1.w, -r1.w add r1.w, r3.y, r1.w mul r2.w, r2.w, r3.x add r1.w, r1.w, r2.w mul r1.w, r1.w, c1.y add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp r1.w, r2.w, c0.y, r1.w mul r1.w, r1.w, c3.x mov r2.w, c64.x mov r3.y, c64.y mov r3.x, r3.x mul r3.x, r3.y, r3.x add r2.w, r2.w, r3.x add r3.x, r2.w, c0.z cmp r2.w, r3.x, r2.w, c0.w add r3.x, r2.w, -c0.y cmp r2.w, r3.x, c0.y, r2.w mul r3.x, r2.w, r2.w mul r2.w, r2.w, c3.y add r2.w, r2.w, c3.z mul r2.w, r3.x, r2.w mul r2.w, r2.w, c64.z add r3.xyz, r1.w, r2.w mov r1.w, -r3.z add r1.w, r1.w, c0.y add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp_pp r3.w, r2.w, c0.y, r1.w mov_pp r3.xyz, r3 mov_pp r3, r3 mul_pp r4.xyz, r4, r3 mov_pp r5.xyz, -r4 mov_pp r6.xyz, -r5 add_pp r6.xyz, r4, r6 cmp_pp r5.xyz, r6, r4, r5 mul_pp r5.xyz, r5, r5 mul_pp r5.xyz, r5, r5 mul_pp r5.xyz, r5, c0.y add_pp r3.xyz, r4, r5 mul_pp r3, r3, c82.x mov_pp r1.xyz, r1 mov_pp r2.xyz, r2 mov_pp r3, r3 texld_pp r4, v0, s1 mov_pp r4.xy, r4.xzzw texld r5, v2.zwzw, s2 add r1.w, r5.x, -c1.y mul r2.w, r1.w, c78.w add_pp r4.x, r4.x, r2.w mul r4.x, r4.x, c71.x mov r4.z, -c72.x add r4.x, r4.x, r4.z add r4.w, r4.x, c0.z cmp r4.x, r4.w, r4.x, c0.w add r4.w, r4.x, -c0.y cmp r4.x, r4.w, c0.y, r4.x mov_pp r4.w, -r4.x mov_pp r5.x, -r4.w add_pp r5.x, r4.x, r5.x cmp_pp r4.w, r5.x, r4.x, r4.w log r4.w, r4.w mul r4.w, r4.w, c78.x exp r4.w, r4.w mul r4.x, r4.x, c78.y add r5.x, r4.x, c0.z cmp r4.x, r5.x, r4.x, c0.w add r5.x, r4.x, -c0.y cmp r4.x, r5.x, c0.y, r4.x mul r4.x, r4.w, r4.x texld_pp r5, v2, s1 mov_pp r5.x, r5.x mul r2.xy, r2, c78.z texld r6, r2, s2 mul r2.x, r6.x, c78.w mul r2.x, r2.x, c3.w add_pp r2.x, r5.x, r2.x mul r2.x, r2.x, c71.x add r2.x, r4.z, r2.x mul r2.x, r2.x, c76.x add r2.y, r2.x, c0.z cmp r2.x, r2.y, r2.x, c0.w add r2.y, r2.x, -c0.y cmp r2.x, r2.y, c0.y, r2.x texld_pp r5, v4, s1 mov_pp r2.y, r5.y mul r2.w, r2.w, c74.y add_pp r2.y, r2.y, r2.w mul r2.y, r2.y, c74.z mov r2.w, -c74.x add r2.y, r2.y, r2.w add r2.w, r2.y, c0.z cmp r2.y, r2.w, r2.y, c0.w add r2.w, r2.y, -c0.y cmp r2.y, r2.w, c0.y, r2.y mul_pp r2.y, r2.z, r2.y dp3 r0.x, r0, c65 mul_pp r0.z, r0.x, r0.x mov r2.z, -r4.x add r2.z, r2.z, c0.y mul r2.w, r2.x, c1.y mov r2.w, -r2.w add r2.w, r2.z, r2.w add r4.z, r2.w, c0.z cmp r2.w, r4.z, r2.w, c0.w add r4.z, r2.w, -c0.y cmp r2.w, r4.z, c0.y, r2.w mul r0.z, r0.z, r2.w mul r0.z, r0.z, c77.x add_pp r0.z, r0.z, c0.y mul r0.z, r0.z, c0.y mul r1.w, r1.w, c3.w add r1.w, r4.y, r1.w add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp r1.w, r2.w, c0.y, r1.w mov r2.w, -r2.x add r2.w, r2.w, c0.y mul r2.w, r4.x, r2.w mul r2.w, r1.w, r2.w add_pp r1.w, r1.w, r2.w mul r0.x, r0.x, c1.y mul r0.x, r0.x, c1.y add r0.x, r0.x, c4.x mul_pp r0.x, r1.w, r0.x mul r4.yzw, r0.z, c69.xxyz mov r5.xyz, -r2.x add r4.yzw, r4, r5.xxyz mul r5.xyz, r0.x, c70 add_pp r4.yzw, r4, r5.xxyz mov_pp r5.xyz, c75 mul r0.x, r2.y, r2.z mov_pp r2.xyw, -r4.yzzw add_pp r2.xyw, r5.xyzz, r2 mul_pp r2.xyw, r0.x, r2 add_pp r2.xyw, r4.yzzw, r2 mul r0.x, r2.z, r0.x add_pp r0.x, r4.x, r0.x mul_pp r1.xyz, r1, r3.w add_pp r4.xyz, r1, c0.z cmp_pp r1.xyz, r4, r1, c0.w add_pp r4.xyz, r1, -c0.y cmp_pp r1.xyz, r4, c0.y, r1 add_pp r1.xyz, r3, r1 texld r3, v3.zwzw, s0 mul_pp r3.xyz, r3, c79.y add_pp r1.xyz, r1, r3 mul r0.y, r0.y, c3.x mov r0.z, -c73.x add r0.y, r0.y, r0.z add r0.z, r0.y, c0.z cmp r0.y, r0.z, r0.y, c0.w add r0.z, r0.y, -c0.y cmp_pp r0.y, r0.z, c0.y, r0.y mul_pp r0.x, r0.x, r0.y mov_pp r3.xyz, -r1 add_pp r2.xyz, r2.xyww, r3 mul_pp r0.xyz, r0.x, r2 add_pp r0.xyz, r1, r0 mul_pp r0.xyz, r0, c81.x mov r1.xyz, -r0 add r1.xyz, r1, c83 cmp_pp r0.xyz, r1, r0, c83 mov_pp r0.xyz, r0 mov_pp r0.xyz, r0 mov r1.xyz, -c83 add r1.xyz, r0, r1 cmp r0.xyz, r1, c83, r0 mov r0.xyz, r0 mov r0.xyz, r0 mov r0.xyz, r0 mov r0.w, -r0.w add r0.w, r0.w, c67.x mul r0.w, r0.w, c67.y add r1.x, r0.w, c0.z cmp r0.w, r1.x, r0.w, c0.w add r1.x, r0.w, -c0.y cmp r0.w, r1.x, c0.y, r0.w mov r1.xyz, c68 mov r2.xyz, -r0 add r1.xyz, r1, r2 mul r1.xyz, r0.w, r1 add r0.xyz, r0, r1 mov r0.xyz, r0 mov r0.w, c0.y mov oC0, r0 // approximately 242 instruction slots used (6 texture, 236 arithmetic) }; } } technique drawMiniMe { pass p0 { vertexshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 vs_3_0 def c0, 2, 0, -1, 1 dcl_position v0 dcl_position o0 dcl_texcoord o1.xy mul r0, c0.xxyy, v0.xyxx add r0, r0, c0.zzyw mov r1.x, v0.x mov r1.y, -v0.y add r1.y, r1.y, c0.w mov o0, r0 mov o1.x, r1.x mov o1.y, r1.y // approximately 8 instruction slots used }; pixelshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // float3 AzimuthColor; // float3 AzimuthColorEast; // float AzimuthHeight; // float AzimuthStrength; // float CloudBias; // float4 CloudColor; // float CloudFadeOut; // float CloudInscatteringRange; // float CloudShadowStrength; // float4 CloudThicknessEdgeSmoothDetailScaleStrength; // float CloudThreshold; // sampler2D GalaxySampler; // float HDRExposure; // float3 HDRExposureClamp; // float3 HDRSunExposure; // sampler2D HighDetailNoiseSampler; // sampler2D PerlinNoiseSampler; // float3 SkyColor; // float4 StarFieldBrightness; // float3 SunCentre; // float3 SunColor; // float4 SunDirection; // float SunSize; // float4 SunsetColor; // float4 TopCloudBiasDetailThresholdHeight; // float3 TopCloudColor; // // // Registers: // // Name Reg Size // ------------------------------------------- ----- ---- // SunCentre c64 1 // SunDirection c65 1 // SkyColor c66 1 // AzimuthColor c67 1 // SunColor c68 1 // AzimuthColorEast c69 1 // AzimuthHeight c70 1 // CloudColor c71 1 // SunsetColor c72 1 // CloudThreshold c73 1 // CloudBias c74 1 // CloudFadeOut c75 1 // TopCloudBiasDetailThresholdHeight c76 1 // TopCloudColor c77 1 // CloudShadowStrength c78 1 // CloudInscatteringRange c79 1 // AzimuthStrength c80 1 // CloudThicknessEdgeSmoothDetailScaleStrength c81 1 // StarFieldBrightness c82 1 // SunSize c83 1 // HDRExposure c84 1 // HDRSunExposure c85 1 // HDRExposureClamp c86 1 // GalaxySampler s0 1 // PerlinNoiseSampler s1 1 // HighDetailNoiseSampler s2 1 // ps_3_0 def c0, 1, 0, 0.200000003, 0.349999994 def c1, -0.5, 2, 1, 4000 def c2, 9.99999975e-006, 12.5799999, -0.0625, 0.5 def c3, -11.6163721, 0.9375, 0.5, 0 def c4, 32, 0.600000024, 4, 3 dcl_texcoord_pp v0.xy dcl_2d s0 dcl_2d s1 dcl_2d s2 add_pp r0.xy, c1.x, v0 mul r0.xy, r0, c1.y mul r6.xy, r0, r0 add r0.z, r6.x, r6.y rsq r0.w, r0.z rcp r0.w, r0.w mov r0.w, -r0.w add r0.w, r0.w, c1.z mul r1.y, r0.w, c1.w mov r2.xyz, c65 mov r3.xyz, c68 add r0.xy, r0, c2.x mul r6.xy, r0, r0 add r0.w, r6.x, r6.y rsq r0.w, r0.w mul r0.xy, r0, r0.w mul r0.xy, r0.z, r0 mul r1.xz, r0.xyyw, c1.w add r0.xyz, r1, c2.x dp3 r0.w, r0, r0 rsq r0.w, r0.w mul r0.xyz, r0, r0.w mov r0.w, c65.w mov r2.xyz, r2 mov r0.xyz, r0 mov r1.x, c83.x dp3 r1.y, r0, r2 mul r1.yzw, r1.y, c2 add r1.yzw, r1, c3.xxyz add r2.xyz, r1.yzww, c3.w cmp r1.yzw, r2.xxyz, r1, -c3.w add r2.xyz, r1.yzww, -c1.z cmp r1.yzw, r2.xyxz, c1.z, r1.xzyw log r1.z, r1.z mul r1.z, r1.z, c4.x exp r1.z, r1.z mul r2.x, r1.y, c1.z mul r1.y, r1.y, r1.y mul r1.y, r2.x, r1.y add r0.w, r0.w, c4.y add r2.x, r0.w, c3.w cmp r0.w, r2.x, r0.w, -c3.w add r2.x, r0.w, -c1.z cmp r0.w, r2.x, c1.z, r0.w mul r0.w, r1.y, r0.w mov r0.w, -r0.w add r0.w, r1.z, r0.w mul r1.x, r1.x, r1.w add r0.w, r0.w, r1.x mul r0.w, r0.w, -c1.x add r1.x, r0.w, c3.w cmp r0.w, r1.x, r0.w, -c3.w add r1.x, r0.w, -c1.z cmp r0.w, r1.x, c1.z, r0.w mul r0.w, r0.w, c4.z mov r1.x, c64.x mov r1.y, c64.y mov r1.w, r1.w mul r1.y, r1.y, r1.w add r1.x, r1.x, r1.y add r1.y, r1.x, c3.w cmp r1.x, r1.y, r1.x, -c3.w add r1.y, r1.x, -c1.z cmp r1.x, r1.y, c1.z, r1.x mul r1.y, r1.x, r1.x mul r1.x, r1.x, -c1.y add r1.x, r1.x, c4.w mul r1.x, r1.y, r1.x mul r1.x, r1.x, c64.z add r1.xyz, r0.w, r1.x mov r0.w, -r1.z add r0.w, r0.w, c1.z add r2.x, r0.w, c3.w cmp r0.w, r2.x, r0.w, -c3.w add r2.x, r0.w, -c1.z cmp r1.w, r2.x, c1.z, r0.w mov r1.xyz, r1 mov r1, r1 mul r2.xyz, r3, r1 mov r3.xyz, -r2 mov r4.xyz, -r3 add r4.xyz, r2, r4 cmp r3.xyz, r4, r2, r3 mul r3.xyz, r3, r3 mul r3.xyz, r3, r3 mul r3.xyz, r3, c1.z add r1.xyz, r2, r3 mul r1, r1.wxyz, c85.x mov r2.xyz, -c86 add r2.xyz, r1.yzww, r2 cmp_pp r1.yzw, r2.xxyz, c86.xxyz, r1 mov_pp r0.w, v0.x mov_pp r2.xy, v0 mul r2.z, r0.y, c70.x add r2.w, r2.z, c3.w cmp r2.z, r2.w, r2.z, -c3.w add r2.w, r2.z, -c1.z cmp r2.z, r2.w, c1.z, r2.z mov r2.z, -r2.z add r2.z, r2.z, c1.z mul r2.z, r2.z, c80.x mov r3.xy, r0.xzzw mul r6.xy, r3, c0 add r2.w, r6.x, r6.y mul r2.w, r2.w, -c1.x add r2.w, r2.w, -c1.x mov r3.xyz, -c69 add r3.xyz, r3, c67 mul r3.xyz, r2.w, r3 add r3.xyz, r3, c69 mul r3.xyz, r2.z, r3 add_pp r3.xyz, r3, c66 mov_pp r3.xyz, r3 mov_pp r3.xyz, r3 mov_pp r2.xy, r2 mov_pp r0.w, r0.w mov_pp r1.yzw, r1 mov_pp r1.x, r1.x texld r4, v0, s1 mov_pp r2.zw, r4.xyxz texld r5, v0, s2 add r3.w, r5.x, c1.x mul r4.x, r3.w, c81.w add_pp r4.z, r2.z, r4.x mul r4.z, r4.z, c73.x mov r4.w, -c74.x add r4.z, r4.z, r4.w add r5.x, r4.z, c3.w cmp r4.z, r5.x, r4.z, -c3.w add r5.x, r4.z, -c1.z cmp r4.z, r5.x, c1.z, r4.z mov_pp r5.x, -r4.z mov_pp r5.y, -r5.x add_pp r5.y, r4.z, r5.y cmp_pp r5.x, r5.y, r4.z, r5.x log r5.x, r5.x mul r5.x, r5.x, c81.x exp r5.x, r5.x mul r4.z, r4.z, c81.y add r5.y, r4.z, c3.w cmp r4.z, r5.y, r4.z, -c3.w add r5.y, r4.z, -c1.z cmp r4.z, r5.y, c1.z, r4.z mul r4.z, r5.x, r4.z mov_pp r2.z, r2.z mul r2.xy, r2, c81.z texld r5, r2, s2 mul r2.x, r5.x, c81.w mul r2.x, r2.x, c0.z add_pp r2.x, r2.z, r2.x mul r2.x, r2.x, c73.x add r2.x, r4.w, r2.x mul r2.x, r2.x, c78.x add r2.y, r2.x, c3.w cmp r2.x, r2.y, r2.x, -c3.w add r2.y, r2.x, -c1.z cmp r2.x, r2.y, c1.z, r2.x mov_pp r2.y, r4.y mul r2.z, r4.x, c76.y add_pp r2.y, r2.y, r2.z mul r2.y, r2.y, c76.z mov r2.z, -c76.x add r2.y, r2.y, r2.z add r2.z, r2.y, c3.w cmp r2.y, r2.z, r2.y, -c3.w add r2.z, r2.y, -c1.z cmp r2.y, r2.z, c1.z, r2.y mul_pp r0.w, r0.w, r2.y dp3 r0.x, r0, c65 mul_pp r0.z, r0.x, r0.x mov r2.y, -r4.z add r2.y, r2.y, c1.z mul r2.z, r2.x, -c1.x mov r2.z, -r2.z add r2.z, r2.y, r2.z add r4.x, r2.z, c3.w cmp r2.z, r4.x, r2.z, -c3.w add r4.x, r2.z, -c1.z cmp r2.z, r4.x, c1.z, r2.z mul r0.z, r0.z, r2.z mul r0.z, r0.z, c79.x add_pp r0.z, r0.z, c1.z mul r0.z, r0.z, c1.z mul r2.z, r3.w, c0.z add r2.z, r2.w, r2.z add r2.w, r2.z, c3.w cmp r2.z, r2.w, r2.z, -c3.w add r2.w, r2.z, -c1.z cmp r2.z, r2.w, c1.z, r2.z mov r2.w, -r2.x add r2.w, r2.w, c1.z mul r2.w, r4.z, r2.w mul r2.w, r2.z, r2.w add_pp r2.z, r2.z, r2.w mul r0.x, r0.x, -c1.x mul r0.x, r0.x, -c1.x add r0.x, r0.x, c0.w mul_pp r0.x, r2.z, r0.x mul r4.xyw, r0.z, c71.xyzz mov r2.xzw, -r2.x add r2.xzw, r4.xyyw, r2 mul r4.xyw, r0.x, c72.xyzz add_pp r2.xzw, r2, r4.xyyw mov_pp r4.xyw, c77.xyzz mul r0.x, r0.w, r2.y mov_pp r5.xyz, -r2.xzww add_pp r4.xyw, r4, r5.xyzz mul_pp r4.xyw, r0.x, r4 add_pp r2.xzw, r2, r4.xyyw mul r0.x, r2.y, r0.x add_pp r0.x, r4.z, r0.x mul_pp r3.xyz, r3, r1.x add_pp r4.xyz, r3, c3.w cmp_pp r3.xyz, r4, r3, -c3.w add_pp r4.xyz, r3, -c1.z cmp_pp r3.xyz, r4, c1.z, r3 add_pp r1.xyz, r1.yzww, r3 texld r3, v0, s0 mul_pp r3.xyz, r3, c82.y add_pp r1.xyz, r1, r3 mul r0.y, r0.y, c4.z mov r0.z, -c75.x add r0.y, r0.y, r0.z add r0.z, r0.y, c3.w cmp r0.y, r0.z, r0.y, -c3.w add r0.z, r0.y, -c1.z cmp_pp r0.y, r0.z, c1.z, r0.y mul_pp r0.x, r0.x, r0.y mov_pp r0.yzw, -r1.xxyz add_pp r0.yzw, r2.xxzw, r0 mul_pp r0.xyz, r0.x, r0.yzww add_pp r0.xyz, r1, r0 mul_pp r0.xyz, r0, c84.x mov r1.xyz, -r0 add r1.xyz, r1, c86 cmp_pp r0.xyz, r1, r0, c86 mov_pp r0.xyz, r0 mov_pp r0.w, c1.z mov oC0, r0 // approximately 239 instruction slots used (4 texture, 235 arithmetic) }; } } technique FastblurMiniMe { pass p0 { vertexshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 vs_3_0 def c0, 2, 0, -1, 1 dcl_position v0 dcl_position o0 dcl_texcoord o1.xy mul r0, c0.xxyy, v0.xyxx add r0, r0, c0.zzyw mov r1.x, v0.x mov r1.y, -v0.y add r1.y, r1.y, c0.w mov o0, r0 mov o1.x, r1.x mov o1.y, r1.y // approximately 8 instruction slots used }; pixelshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // sampler2D SkyMapSampler; // float4 TexelSize; // // // Registers: // // Name Reg Size // ------------- ----- ---- // TexelSize c64 1 // SkyMapSampler s0 1 // ps_3_0 def c0, -0.5, 0.5, 0.25, 0 dcl_texcoord v0.xy dcl_2d s0 mov r0.xy, c0 mul r0.xy, r0, c64.x add r0.zw, r0.x, v0.xyxy texld r1, r0.zwzw, s0 add r0.zw, r0.xyyx, v0.xyxy texld r2, r0.zwzw, s0 add r0.xz, r0.xyyw, v0.xyyw texld r3, r0.xzzw, s0 add r0.xy, r0.y, v0 texld r0, r0, s0 add r1, r1, r2 add r1, r3, r1 add r0, r0, r1 mul oC0, r0, c0.z // approximately 14 instruction slots used (4 texture, 10 arithmetic) }; } } technique blurMiniMe { pass p0 { vertexshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 vs_3_0 def c0, 2, 0, -1, 1 dcl_position v0 dcl_position o0 dcl_texcoord o1.xy mul r0, c0.xxyy, v0.xyxx add r0, r0, c0.zzyw mov r1.x, v0.x mov r1.y, -v0.y add r1.y, r1.y, c0.w mov o0, r0 mov o1.x, r1.x mov o1.y, r1.y // approximately 8 instruction slots used }; pixelshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // sampler2D SkyMapSampler; // float4 TexelSize; // // // Registers: // // Name Reg Size // ------------- ----- ---- // TexelSize c64 1 // SkyMapSampler s0 1 // ps_3_0 def c0, -1.5, 0.25, 0, -0.5 def c1, 0.5, -1.5, 1.5, -0.5 def c2, 1, 0.111111112, 0, 0 dcl_texcoord v0.xy dcl_2d s0 mov r0.xy, v0 mov r1.xw, c0 mul r0.zw, r1.x, c64.xyxy add r0.zw, r0.xyxy, r0 texld r2, r0.zwzw, s0 mov r2, r2 mul r2, r2, c0.y add r2, r2, c0.z mul r0.zw, r1.xywx, c64.xyxy add r0.zw, r0.xyxy, r0 texld r3, r0.zwzw, s0 mov r3, r3 mul r3, r3, -c0.w add r2, r2, r3 mov r3.xy, c64 mul r0.zw, r3.xyxy, c1.xyxy add r0.zw, r0.xyxy, r0 texld r4, r0.zwzw, s0 mov r4, r4 mul r4, r4, -c0.w add r2, r2, r4 mul r0.zw, r3.xyxy, c1.xyzy add r0.zw, r0.xyxy, r0 texld r4, r0.zwzw, s0 mov r4, r4 mul r4, r4, c0.y add r2, r2, r4 mul r0.zw, r1.xyxw, c64.xyxy add r0.zw, r0.xyxy, r0 texld r4, r0.zwzw, s0 mov r4, r4 mul r4, r4, -c0.w add r2, r2, r4 mul r0.zw, r1.w, c64.xyxy add r0.zw, r0.xyxy, r0 texld r4, r0.zwzw, s0 mov r4, r4 add r2, r2, r4 mul r0.zw, r3.xyxy, c1.xyxw add r0.zw, r0.xyxy, r0 texld r4, r0.zwzw, s0 mov r4, r4 add r2, r2, r4 mul r0.zw, r3.xyxy, c1 add r0.zw, r0.xyxy, r0 texld r4, r0.zwzw, s0 mov r4, r4 mul r4, r4, -c0.w add r2, r2, r4 mul r0.zw, r3.xyxy, c1.xyyx add r0.zw, r0.xyxy, r0 texld r4, r0.zwzw, s0 mov r4, r4 mul r4, r4, -c0.w add r2, r2, r4 mul r0.zw, r3.xyxy, c1.xywx add r0.zw, r0.xyxy, r0 texld r4, r0.zwzw, s0 mov r4, r4 add r2, r2, r4 mul r0.zw, -r1.w, c64.xyxy add r0.zw, r0.xyxy, r0 texld r4, r0.zwzw, s0 mov r4, r4 add r2, r2, r4 mul r0.zw, -r1.xyxw, c64.xyxy add r0.zw, r0.xyxy, r0 texld r4, r0.zwzw, s0 mov r4, r4 mul r4, r4, -c0.w add r2, r2, r4 mul r0.zw, r3.xyxy, c1.xyyz add r0.zw, r0.xyxy, r0 texld r4, r0.zwzw, s0 mov r4, r4 mul r4, r4, c0.y add r2, r2, r4 mul r0.zw, r3.xyxy, c1.xywz add r0.zw, r0.xyxy, r0 texld r3, r0.zwzw, s0 mov r3, r3 mul r3, r3, -c0.w add r2, r2, r3 mul r0.zw, -r1.xywx, c64.xyxy add r0.zw, r0.xyxy, r0 texld r3, r0.zwzw, s0 mov r3, r3 mul r3, r3, -c0.w add r2, r2, r3 mul r0.zw, -r1.x, c64.xyxy add r0.xy, r0, r0.zwzw texld r0, r0, s0 mov r0, r0 mul r0, r0, c0.y add r0, r2, r0 mul r0, r0, c2.x mul oC0, r0, c2.y // approximately 97 instruction slots used (16 texture, 81 arithmetic) }; } } technique paraboloid_draw { pass p0 { vertexshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // float3 AzimuthColor; // float3 AzimuthColorEast; // float AzimuthHeight; // float AzimuthStrength; // float CloudShadowOffset; // float4 CloudThicknessEdgeSmoothDetailScaleStrength; // float2 DetailOffset; // float2 GalaxyOffset; // float3 SkyColor; // float StarFieldUVRepeat; // float4 SunDirection; // float4 TopCloudBiasDetailThresholdHeight; // row_major float4x4 gWorld; // row_major float4x4 gWorldView; // // // Registers: // // Name Reg Size // ------------------------------------------- ----- ---- // gWorld c0 4 // gWorldView c4 4 // SunDirection c64 1 // SkyColor c65 1 // AzimuthColor c66 1 // AzimuthColorEast c67 1 // AzimuthHeight c68 1 // TopCloudBiasDetailThresholdHeight c69 1 // CloudShadowOffset c70 1 // AzimuthStrength c71 1 // CloudThicknessEdgeSmoothDetailScaleStrength c72 1 // StarFieldUVRepeat c73 1 // GalaxyOffset c74 1 // DetailOffset c75 1 // vs_3_0 def c8, 1, 512, -0.00039999999, -1 def c9, 0.200000003, 0, 9.99999975e-006, 1.5 def c10, 0.5, -0.0187292993, 0.0742610022, -0.212114394 def c11, 1.57072878, -2, 3.14159274, 1.57079637 def c12, 0.317732662, 0.100000001, 0, 0 dcl_position v0 dcl_texcoord v1 dcl_position o0 dcl_texcoord o1.xyz dcl_texcoord1 o2.xyz dcl_texcoord2 o3 dcl_texcoord3 o4 dcl_texcoord4 o5.xyz dcl_texcoord5 o6.xyz mul r0.xyz, c4, v0.x mul r1.xyz, c5, v0.y add r0.xyz, r0, r1 mul r1.xyz, c6, v0.z add r0.xyz, r0, r1 mov r1.x, c8.x mul r1.xyz, r1.x, c7 add r0.xyz, r0, r1 add r0.w, r0.z, c8.y mul r0.z, r0.w, c8.z max r0.z, r0.z, c8.w min r0.z, r0.z, c8.x mul r0.z, r0.z, c9.x mov r0.z, -r0.z add r1.x, r0.z, c8.x mul r0.z, r0.w, -c8.z max r0.z, r0.z, c9.y min r0.z, r0.z, c8.x mul r0.z, r0.z, c9.x add r1.y, r0.z, c8.x mov r1.zw, c8.x dp3 r0.z, r0.xyww, r0.xyww rsq r0.z, r0.z rcp r0.z, r0.z rcp r2.x, r0.z mul r0.w, r0.w, r2.x mov r0.w, -r0.w add r0.w, r0.w, c8.x mul r0.w, r0.z, r0.w rcp r0.w, r0.w mul r0.w, r0.w, c8.x mul r2.xy, r0, r0.w add r0.x, r0.z, c8.x rcp r0.x, r0.x mul r0.x, r0.x, c8.x mov r0.x, -r0.x add r2.z, r0.x, c8.x mov r2.w, c8.x mul r0, r1, r2 mov r0, r0 mov r0, r0 mov r1.xy, v1 mov r0, r0 mul r2.xyz, c0, v0.x mul r3.xyz, c1, v0.y add r2.xyz, r2, r3 mul r3.xyz, c2, v0.z add r2.xyz, r2, r3 mul r3.xyz, c3, v0.w add r2.xyz, r2, r3 mov r3.xyz, -c3 add r2.xyz, r2, r3 mov r1.xy, r1 add r3.xyz, r2, c9.z dp3 r1.w, r3, r3 rsq r1.w, r1.w mul r3.xyz, r3, r1.w mov r3.xyz, r3 mul r1.w, r3.y, c9.w add r3.w, r1.w, c10.x add r4.xyz, r3.xwzw, c9.z dp3 r1.w, r4, r4 rsq r1.w, r1.w mul r4.xy, r4.xzzw, r1.w mov r1.w, -r4.x max r2.w, r4.x, r1.w mov r3.w, -r2.w add r3.w, r3.w, c8.x rsq r3.w, r3.w rcp r3.w, r3.w mul r4.z, r2.w, c10.y add r4.z, r4.z, c10.z mul r4.z, r2.w, r4.z add r4.z, r4.z, c10.w mul r2.w, r2.w, r4.z add r2.w, r2.w, c11.x mul r2.w, r3.w, r2.w mul r3.w, r2.w, c11.y add r3.w, r3.w, c11.z slt r1.w, r4.x, r1.w mul r1.w, r3.w, r1.w add r1.w, r2.w, r1.w mov r1.w, -r1.w add r1.w, r1.w, c11.w mul r1.w, r1.w, c12.x add r4.z, r1.w, c10.x mov r1.w, -r4.y max r2.w, r4.y, r1.w mov r3.w, -r2.w add r3.w, r3.w, c8.x rsq r3.w, r3.w rcp r3.w, r3.w mul r4.x, r2.w, c10.y add r4.x, r4.x, c10.z mul r4.x, r2.w, r4.x add r4.x, r4.x, c10.w mul r2.w, r2.w, r4.x add r2.w, r2.w, c11.x mul r2.w, r3.w, r2.w mul r3.w, r2.w, c11.y add r3.w, r3.w, c11.z slt r1.w, r4.y, r1.w mul r1.w, r3.w, r1.w add r1.w, r2.w, r1.w mov r1.w, -r1.w add r1.w, r1.w, c11.w mul r1.w, r1.w, c12.x add r4.w, r1.w, c10.x add r4.zw, r4, c74.xyxy mul r4.xy, r4.zwzw, c73.x mov r3.zw, -r3.xyxz add r3.zw, r3, c64.xyxz mov r5.y, c12.y mul r5.xy, r5.y, c70.x mul r3.zw, r3, r5.xyxy mov r5.xy, r1 mov r3.zw, r3 mul r5.zw, r5.xyxy, -c11.y add r5.zw, r5, c8.w mul r1.w, r5.z, r5.z mul r2.w, r5.w, r5.w add r1.w, r1.w, r2.w mov r1.w, -r1.w add r1.w, r1.w, c8.x mul r3.zw, r3, r1.w add r6.xy, r1, r3.zwzw add r3.zw, r5.xyxy, -c10.x mul r1.w, r3.z, r3.z mul r2.w, r3.w, r3.w add r1.w, r1.w, r2.w add r3.zw, r3, c9.z mul r2.w, r3.z, r3.z mul r5.x, r3.w, r3.w add r2.w, r2.w, r5.x rsq r2.w, r2.w mul r3.zw, r3, r2.w mul r3.zw, r1.w, r3 mul r3.zw, r3, c8.x mov r3.zw, r3 mul r3.zw, r3, c72.z add r6.zw, r3, c75.xyxy add r3.zw, r1.xyxy, -c10.x mul r3.zw, r3, c69.w mul r1.w, r3.z, r3.z mul r2.w, r3.w, r3.w add r1.w, r1.w, r2.w rsq r1.w, r1.w rcp r1.w, r1.w mov r1.w, -r1.w add r5.z, r1.w, c8.x add r5.xy, r3.zwzw, c10.x mov r5.xy, r5 mov r5.z, r5.z mul r1.w, r0.z, c8.x mov r1.w, -r1.w add r1.z, r1.w, c8.x mov r3.xy, r3 mul r1.w, r3.y, c68.x max r1.w, r1.w, c9.y min r1.w, r1.w, c8.x mov r1.w, -r1.w add r1.w, r1.w, c8.x mul r1.w, r1.w, c71.x mov r3.x, r3.x mul r2.w, r3.x, c8.x add r2.w, r2.w, c9.y mul r2.w, r2.w, c10.x add r2.w, r2.w, c10.x mov r3.xyz, -c67 add r3.xyz, r3, c66 mul r3.xyz, r2.w, r3 add r3.xyz, r3, c67 mul r3.xyz, r1.w, r3 add r3.xyz, r3, c65 mov r3.xyz, r3 mov r0, r0 mov r6.xy, r6 mov r6.zw, r6 mov r4.xy, r4 mov r4.zw, r4 mov r1.xy, r1 mov r1.z, r1.z mov r2.xyz, r2 mov r5.xy, r5 mov r5.z, r5.z mov r3.xyz, r3 mov o0, r0 mov o3, r6 mov o4, r4 mov o1.xyz, r1 mov o2.xyz, r2 mov o5.xyz, r5 mov o6.xyz, r3 // approximately 193 instruction slots used }; pixelshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // float CloudBias; // float4 CloudColor; // float CloudFadeOut; // float CloudInscatteringRange; // float CloudShadowStrength; // float4 CloudThicknessEdgeSmoothDetailScaleStrength; // float CloudThreshold; // sampler2D GalaxySampler; // float HDRExposure; // float3 HDRExposureClamp; // float3 HDRSunExposure; // sampler2D HighDetailNoiseSampler; // sampler2D PerlinNoiseSampler; // float4 StarFieldBrightness; // float3 SunCentre; // float3 SunColor; // float4 SunDirection; // float SunSize; // float4 SunsetColor; // float4 TopCloudBiasDetailThresholdHeight; // float3 TopCloudColor; // float3 gtaSkyDomeFade; // float3 gtaWaterColor; // // // Registers: // // Name Reg Size // ------------------------------------------- ----- ---- // SunCentre c64 1 // SunDirection c65 1 // SunColor c66 1 // gtaSkyDomeFade c67 1 // gtaWaterColor c68 1 // CloudColor c69 1 // SunsetColor c70 1 // CloudThreshold c71 1 // CloudBias c72 1 // CloudFadeOut c73 1 // TopCloudBiasDetailThresholdHeight c74 1 // TopCloudColor c75 1 // CloudShadowStrength c76 1 // CloudInscatteringRange c77 1 // CloudThicknessEdgeSmoothDetailScaleStrength c78 1 // StarFieldBrightness c79 1 // SunSize c80 1 // HDRExposure c81 1 // HDRSunExposure c82 1 // HDRExposureClamp c83 1 // GalaxySampler s0 1 // PerlinNoiseSampler s1 1 // HighDetailNoiseSampler s2 1 // ps_3_0 def c0, 9.99999975e-006, 1, 0, 0 def c1, 25.1599998, 0.5, -0.0625, -0.461699992 def c2, 0.9375, 0.5, 32, 0.600000024 def c3, 4, -2, 3, 0.200000003 def c4, 0.349999994, 0, 0, 0 dcl_texcoord_pp v0.xy dcl_texcoord1_pp v1.xyz dcl_texcoord2_pp v2 dcl_texcoord3_pp v3.zw dcl_texcoord4_pp v4.xyz dcl_texcoord5_pp v5.xyz dcl_2d s0 dcl_2d s1 dcl_2d s2 mov r0.xyz, v1 mov_pp r1.xyz, v5 mov_pp r2.xy, v2 mov_pp r2.z, v4.z mov_pp r0.w, r0.y mov_pp r3.xyz, c65 add r0.xyz, r0, c0.x dp3 r1.w, r0, r0 rsq r1.w, r1.w mul_pp r0.xyz, r0, r1.w mov_pp r4.xyz, c66 mov r1.w, c65.w mov r3.xyz, r3 mov r0.xyz, r0 mov r2.w, c80.x mov r3.w, -c82.y add r3.w, r3.w, c0.y add r4.w, r3.w, c0.z cmp r3.w, r4.w, r3.w, c0.w add r4.w, r3.w, -c0.y cmp r3.w, r4.w, c0.y, r3.w mul r3.w, r3.w, c1.x dp3 r3.x, r0, r3 mul r5.x, r3.w, c1.y mov r5.yz, c1.xzyw mul r3.xyz, r3.x, r5 mul r5.x, r3.w, c1.w mov r5.yz, c2.xxyw add r3.xyz, r3, r5 add r5.xyz, r3, c0.z cmp r3.xyz, r5, r3, c0.w add r5.xyz, r3, -c0.y cmp r3.xyz, r5.zxyw, c0.y, r3.zxyw mov r3.w, -r3.y mov r4.w, -r3.w add r4.w, r3.y, r4.w cmp r3.y, r4.w, r3.y, r3.w log r3.y, r3.y mul r3.y, r3.y, c2.z exp r3.y, r3.y mov r3.w, -r3.z mov r4.w, -r3.w add r4.w, r3.z, r4.w cmp r3.z, r4.w, r3.z, r3.w mul r3.w, r3.z, c0.y mul r3.z, r3.z, r3.z mul r3.z, r3.w, r3.z add r1.w, r1.w, c2.w add r3.w, r1.w, c0.z cmp r1.w, r3.w, r1.w, c0.w add r3.w, r1.w, -c0.y cmp r1.w, r3.w, c0.y, r1.w mul r1.w, r3.z, r1.w mov r1.w, -r1.w add r1.w, r3.y, r1.w mul r2.w, r2.w, r3.x add r1.w, r1.w, r2.w mul r1.w, r1.w, c1.y add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp r1.w, r2.w, c0.y, r1.w mul r1.w, r1.w, c3.x mov r2.w, c64.x mov r3.y, c64.y mov r3.x, r3.x mul r3.x, r3.y, r3.x add r2.w, r2.w, r3.x add r3.x, r2.w, c0.z cmp r2.w, r3.x, r2.w, c0.w add r3.x, r2.w, -c0.y cmp r2.w, r3.x, c0.y, r2.w mul r3.x, r2.w, r2.w mul r2.w, r2.w, c3.y add r2.w, r2.w, c3.z mul r2.w, r3.x, r2.w mul r2.w, r2.w, c64.z add r3.xyz, r1.w, r2.w mov r1.w, -r3.z add r1.w, r1.w, c0.y add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp_pp r3.w, r2.w, c0.y, r1.w mov_pp r3.xyz, r3 mov_pp r3, r3 mul_pp r4.xyz, r4, r3 mov_pp r5.xyz, -r4 mov_pp r6.xyz, -r5 add_pp r6.xyz, r4, r6 cmp_pp r5.xyz, r6, r4, r5 mul_pp r5.xyz, r5, r5 mul_pp r5.xyz, r5, r5 mul_pp r5.xyz, r5, c0.y add_pp r3.xyz, r4, r5 mul_pp r3, r3, c82.x mov_pp r1.xyz, r1 mov_pp r2.xyz, r2 mov_pp r3, r3 texld_pp r4, v0, s1 mov_pp r4.xy, r4.xzzw texld r5, v2.zwzw, s2 add r1.w, r5.x, -c1.y mul r2.w, r1.w, c78.w add_pp r4.x, r4.x, r2.w mul r4.x, r4.x, c71.x mov r4.z, -c72.x add r4.x, r4.x, r4.z add r4.w, r4.x, c0.z cmp r4.x, r4.w, r4.x, c0.w add r4.w, r4.x, -c0.y cmp r4.x, r4.w, c0.y, r4.x mov_pp r4.w, -r4.x mov_pp r5.x, -r4.w add_pp r5.x, r4.x, r5.x cmp_pp r4.w, r5.x, r4.x, r4.w log r4.w, r4.w mul r4.w, r4.w, c78.x exp r4.w, r4.w mul r4.x, r4.x, c78.y add r5.x, r4.x, c0.z cmp r4.x, r5.x, r4.x, c0.w add r5.x, r4.x, -c0.y cmp r4.x, r5.x, c0.y, r4.x mul r4.x, r4.w, r4.x texld_pp r5, v2, s1 mov_pp r5.x, r5.x mul r2.xy, r2, c78.z texld r6, r2, s2 mul r2.x, r6.x, c78.w mul r2.x, r2.x, c3.w add_pp r2.x, r5.x, r2.x mul r2.x, r2.x, c71.x add r2.x, r4.z, r2.x mul r2.x, r2.x, c76.x add r2.y, r2.x, c0.z cmp r2.x, r2.y, r2.x, c0.w add r2.y, r2.x, -c0.y cmp r2.x, r2.y, c0.y, r2.x texld_pp r5, v4, s1 mov_pp r2.y, r5.y mul r2.w, r2.w, c74.y add_pp r2.y, r2.y, r2.w mul r2.y, r2.y, c74.z mov r2.w, -c74.x add r2.y, r2.y, r2.w add r2.w, r2.y, c0.z cmp r2.y, r2.w, r2.y, c0.w add r2.w, r2.y, -c0.y cmp r2.y, r2.w, c0.y, r2.y mul_pp r2.y, r2.z, r2.y dp3 r0.x, r0, c65 mul_pp r0.z, r0.x, r0.x mov r2.z, -r4.x add r2.z, r2.z, c0.y mul r2.w, r2.x, c1.y mov r2.w, -r2.w add r2.w, r2.z, r2.w add r4.z, r2.w, c0.z cmp r2.w, r4.z, r2.w, c0.w add r4.z, r2.w, -c0.y cmp r2.w, r4.z, c0.y, r2.w mul r0.z, r0.z, r2.w mul r0.z, r0.z, c77.x add_pp r0.z, r0.z, c0.y mul r0.z, r0.z, c0.y mul r1.w, r1.w, c3.w add r1.w, r4.y, r1.w add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp r1.w, r2.w, c0.y, r1.w mov r2.w, -r2.x add r2.w, r2.w, c0.y mul r2.w, r4.x, r2.w mul r2.w, r1.w, r2.w add_pp r1.w, r1.w, r2.w mul r0.x, r0.x, c1.y mul r0.x, r0.x, c1.y add r0.x, r0.x, c4.x mul_pp r0.x, r1.w, r0.x mul r4.yzw, r0.z, c69.xxyz mov r5.xyz, -r2.x add r4.yzw, r4, r5.xxyz mul r5.xyz, r0.x, c70 add_pp r4.yzw, r4, r5.xxyz mov_pp r5.xyz, c75 mul r0.x, r2.y, r2.z mov_pp r2.xyw, -r4.yzzw add_pp r2.xyw, r5.xyzz, r2 mul_pp r2.xyw, r0.x, r2 add_pp r2.xyw, r4.yzzw, r2 mul r0.x, r2.z, r0.x add_pp r0.x, r4.x, r0.x mul_pp r1.xyz, r1, r3.w add_pp r4.xyz, r1, c0.z cmp_pp r1.xyz, r4, r1, c0.w add_pp r4.xyz, r1, -c0.y cmp_pp r1.xyz, r4, c0.y, r1 add_pp r1.xyz, r3, r1 texld r3, v3.zwzw, s0 mul_pp r3.xyz, r3, c79.y add_pp r1.xyz, r1, r3 mul r0.y, r0.y, c3.x mov r0.z, -c73.x add r0.y, r0.y, r0.z add r0.z, r0.y, c0.z cmp r0.y, r0.z, r0.y, c0.w add r0.z, r0.y, -c0.y cmp_pp r0.y, r0.z, c0.y, r0.y mul_pp r0.x, r0.x, r0.y mov_pp r3.xyz, -r1 add_pp r2.xyz, r2.xyww, r3 mul_pp r0.xyz, r0.x, r2 add_pp r0.xyz, r1, r0 mul_pp r0.xyz, r0, c81.x mov r1.xyz, -r0 add r1.xyz, r1, c83 cmp_pp r0.xyz, r1, r0, c83 mov_pp r0.xyz, r0 mov_pp r0.xyz, r0 mov r1.xyz, -c83 add r1.xyz, r0, r1 cmp r0.xyz, r1, c83, r0 mov r0.xyz, r0 mov r0.xyz, r0 mov r0.xyz, r0 mov r0.w, -r0.w add r0.w, r0.w, c67.x mul r0.w, r0.w, c67.y add r1.x, r0.w, c0.z cmp r0.w, r1.x, r0.w, c0.w add r1.x, r0.w, -c0.y cmp r0.w, r1.x, c0.y, r0.w mov r1.xyz, c68 mov r2.xyz, -r0 add r1.xyz, r1, r2 mul r1.xyz, r0.w, r1 add r0.xyz, r0, r1 mov r0.xyz, r0 mov r0.w, c0.y mov r0, r0 mov oC0, r0 // approximately 243 instruction slots used (6 texture, 237 arithmetic) }; } } technique draw_sunonly { pass p0 { vertexshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // float3 AzimuthColor; // float3 AzimuthColorEast; // float AzimuthHeight; // float AzimuthStrength; // float CloudFadeOut; // float2 GalaxyOffset; // float4 MoonTexPosition; // float3 SkyColor; // float StarFieldUVRepeat; // float4 TopCloudBiasDetailThresholdHeight; // row_major float4x4 gWorld; // row_major float4x4 gWorldViewProj; // // // Registers: // // Name Reg Size // --------------------------------- ----- ---- // gWorld c0 4 // gWorldViewProj c8 4 // SkyColor c64 1 // AzimuthColor c65 1 // AzimuthColorEast c66 1 // AzimuthHeight c67 1 // CloudFadeOut c68 1 // TopCloudBiasDetailThresholdHeight c69 1 // AzimuthStrength c70 1 // StarFieldUVRepeat c71 1 // GalaxyOffset c72 1 // MoonTexPosition c73 1 // vs_3_0 def c4, 9.99999975e-006, 4, 0, 1 def c5, 1.5, 0.5, -0.0187292993, 0.0742610022 def c6, -0.212114394, 1.57072878, -2, 3.14159274 def c7, 1.57079637, 0.317732662, 0, 0 dcl_position v0 dcl_texcoord v1 dcl_position o0 dcl_texcoord o1 dcl_texcoord1 o2 dcl_texcoord2 o3 dcl_texcoord3 o4 dcl_texcoord4 o5.xyz mul r0, c8, v0.x mul r1, c9, v0.y add r0, r0, r1 mul r1, c10, v0.z add r0, r0, r1 mul r1, c11, v0.w add r0, r0, r1 mov r0, r0 mov r1.xy, v1 mov r0, r0 mul r2.xyz, c0, v0.x mul r3.xyz, c1, v0.y add r2.xyz, r2, r3 mul r3.xyz, c2, v0.z add r2.xyz, r2, r3 mul r3.xyz, c3, v0.w add r2.xyz, r2, r3 mov r3.xyz, -c3 add r2.xyz, r2, r3 mov r1.w, r2.z mov r3.zw, r2.xyxy mov r2.xyz, r2 add r4.xyz, r2, c4.x dp3 r2.w, r4, r4 rsq r2.w, r2.w mul r2.w, r4.y, r2.w mul r2.w, r2.w, c4.y mov r4.x, -c68.x add r2.w, r2.w, r4.x max r2.w, r2.w, c4.z min r4.w, r2.w, c4.w mov r4.w, r4.w mov r1.xy, r1 add r2.xyz, r2, c4.x dp3 r2.w, r2, r2 rsq r2.w, r2.w mul r2.xyz, r2, r2.w mov r2.xyz, r2 mul r5.x, r2.y, c5.x add r2.w, r5.x, c5.y add r5.xyz, r2.xwzw, c4.x dp3 r2.z, r5, r5 rsq r2.z, r2.z mul r2.zw, r5.xyxz, r2.z mov r5.x, -r2.z max r5.y, r2.z, r5.x mov r5.z, -r5.y add r5.z, r5.z, c4.w rsq r5.z, r5.z rcp r5.z, r5.z mul r5.w, r5.y, c5.z add r5.w, r5.w, c5.w mul r5.w, r5.y, r5.w add r5.w, r5.w, c6.x mul r5.y, r5.y, r5.w add r5.y, r5.y, c6.y mul r5.y, r5.z, r5.y mul r5.z, r5.y, c6.z add r5.z, r5.z, c6.w slt r2.z, r2.z, r5.x mul r2.z, r5.z, r2.z add r2.z, r5.y, r2.z mov r2.z, -r2.z add r2.z, r2.z, c7.x mul r2.z, r2.z, c7.y add r5.x, r2.z, c5.y mov r2.z, -r2.w max r5.z, r2.w, r2.z mov r5.w, -r5.z add r5.w, r5.w, c4.w rsq r5.w, r5.w rcp r5.w, r5.w mul r6.x, r5.z, c5.z add r6.x, r6.x, c5.w mul r6.x, r5.z, r6.x add r6.x, r6.x, c6.x mul r5.z, r5.z, r6.x add r5.z, r5.z, c6.y mul r5.z, r5.w, r5.z mul r5.w, r5.z, c6.z add r5.w, r5.w, c6.w slt r2.z, r2.w, r2.z mul r2.z, r5.w, r2.z add r2.z, r5.z, r2.z mov r2.z, -r2.z add r2.z, r2.z, c7.x mul r2.z, r2.z, c7.y add r5.y, r2.z, c5.y add r6.zw, r5.xyxy, c72.xyxy mul r6.xy, r6.zwzw, c71.x mov r2.zw, -c73 add r2.zw, r5.xyxy, r2 mul r3.xy, r2.zwzw, c73.x add r2.zw, r1.xyxy, -c5.y mul r2.zw, r2, c69.w mul r5.x, r2.z, r2.z mul r5.y, r2.w, r2.w add r5.x, r5.x, r5.y rsq r5.x, r5.x rcp r5.x, r5.x mov r5.x, -r5.x add r4.z, r5.x, c4.w add r4.xy, r2.zwzw, c5.y mov r4.xy, r4 mov r4.z, r4.z rcp r2.z, r0.w mul r2.z, r0.z, r2.z mov r2.z, -r2.z add r1.z, r2.z, c4.w mov r2.xy, r2 mul r2.y, r2.y, c67.x max r2.y, r2.y, c4.z min r2.y, r2.y, c4.w mov r2.y, -r2.y add r2.y, r2.y, c4.w mul r2.y, r2.y, c70.x mov r2.x, r2.x mul r2.x, r2.x, c4.w add r2.x, r2.x, c4.z mul r2.x, r2.x, c5.y add r2.x, r2.x, c5.y mov r5.xyz, -c66 add r5.xyz, r5, c65 mul r2.xzw, r2.x, r5.xyyz add r2.xzw, r2, c66.xyyz mul r2.xyz, r2.y, r2.xzww add r2.xyz, r2, c64 mov r2.xyz, r2 mov r0, r0 mov r1.xy, r1 mov r1.z, r1.z mov r1.w, r1.w mov r3.xy, r3 mov r3.zw, r3 mov r4.xy, r4 mov r4.z, r4.z mov r4.w, r4.w mov r6.xy, r6 mov r6.zw, r6 mov r2.xyz, r2 mov o0, r0 mov o1, r1 mov o2, r3 mov o3, r4 mov o4, r6 mov o5.xyz, r2 // approximately 146 instruction slots used }; pixelshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // float3 HDRExposureClamp; // float3 HDRSunExposure; // float3 SunCentre; // float3 SunColor; // float4 SunDirection; // // // Registers: // // Name Reg Size // ---------------- ----- ---- // SunCentre c64 1 // SunDirection c65 1 // SunColor c66 1 // HDRSunExposure c67 1 // HDRExposureClamp c68 1 // ps_3_0 def c0, 9.99999975e-006, 1, 0.5, 0 def c1, -2, 3, 4, 0 dcl_texcoord_pp v0.w dcl_texcoord1_pp v1.zw mov_pp r0.xy, v1.zwzw mov_pp r0.z, v0.w add r0.xyz, r0, c0.x dp3 r0.w, r0, r0 rsq r0.w, r0.w mul_pp r0.xyz, r0, r0.w mov r1.x, c0.x add r1.xyz, r1.x, c65 dp3 r0.w, r1, r1 rsq r0.w, r0.w mul_pp r1.xyz, r1, r0.w mov_pp r2.xyz, c66 dp3_pp r0.x, r0, r1 add_pp r0.x, r0.x, c0.y mul_pp r0.x, r0.x, c0.z mov r0.y, -c64.x add r0.z, r0.y, c64.y add r0.x, r0.x, r0.y rcp r0.y, r0.z mul r0.x, r0.x, r0.y add r0.y, r0.x, c0.w cmp r0.x, r0.y, r0.x, -c0.w add r0.y, r0.x, -c0.y cmp r0.x, r0.y, c0.y, r0.x mul r0.y, r0.x, c1.x add r0.y, r0.y, c1.y mul r0.x, r0.x, r0.x mul r0.x, r0.y, r0.x mul_pp r0.x, r0.x, c64.z mul_pp r0.xyz, r0.x, c1.z mul_pp r0.xyz, r2, r0 mov_pp r1.xyz, -r0 mov_pp r2.xyz, -r1 add_pp r2.xyz, r0, r2 cmp_pp r1.xyz, r2, r0, r1 mul_pp r1.xyz, r1, r1 mul_pp r1.xyz, r1, r1 mul_pp r1.xyz, r1, c0.y add_pp r0.xyz, r0, r1 mul_pp r0.xyz, r0, c67.x mov r1.xyz, -c68 add r1.xyz, r0, r1 cmp_pp oC0.xyz, r1, c68, r0 mov_pp oC0.w, c0.y // approximately 44 instruction slots used }; } } technique draw_withmoon { pass p0 { vertexshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // float3 AzimuthColor; // float3 AzimuthColorEast; // float AzimuthHeight; // float AzimuthStrength; // float CloudShadowOffset; // float4 CloudThicknessEdgeSmoothDetailScaleStrength; // float2 DetailOffset; // float2 GalaxyOffset; // float3 SkyColor; // float StarFieldUVRepeat; // float4 SunDirection; // float4 TopCloudBiasDetailThresholdHeight; // row_major float4x4 gWorld; // row_major float4x4 gWorldViewProj; // // // Registers: // // Name Reg Size // ------------------------------------------- ----- ---- // gWorld c0 4 // gWorldViewProj c8 4 // SunDirection c64 1 // SkyColor c65 1 // AzimuthColor c66 1 // AzimuthColorEast c67 1 // AzimuthHeight c68 1 // TopCloudBiasDetailThresholdHeight c69 1 // CloudShadowOffset c70 1 // AzimuthStrength c71 1 // CloudThicknessEdgeSmoothDetailScaleStrength c72 1 // StarFieldUVRepeat c73 1 // GalaxyOffset c74 1 // DetailOffset c75 1 // vs_3_0 def c4, 0, 1, 9.99999975e-006, 1.5 def c5, 0.5, -0.0187292993, 0.0742610022, -0.212114394 def c6, 1.57072878, -2, 3.14159274, 1.57079637 def c7, 0.317732662, 0.100000001, 0, 0 dcl_position v0 dcl_texcoord v1 dcl_position o0 dcl_texcoord o1.xyz dcl_texcoord1 o2.xyz dcl_texcoord2 o3 dcl_texcoord3 o4 dcl_texcoord4 o5.xyz dcl_texcoord5 o6.xyz mov r0.x, -v0.y max r0.x, r0.x, c4.x min r0.x, r0.x, c4.y mov r0.x, -r0.x add r0.x, r0.x, v0.y mul r1, c8, v0.x mul r2, r0.x, c9 add r1, r1, r2 mul r2, c10, v0.z add r1, r1, r2 mul r2, c11, v0.w add r1, r1, r2 mov r1, r1 mov r2.xy, v1 mov r1, r1 mul r0.yzw, c0.xxyz, v0.x mul r3.xyz, r0.x, c1 add r0.xyz, r0.yzww, r3 mul r3.xyz, c2, v0.z add r0.xyz, r0, r3 mul r3.xyz, c3, v0.w add r0.xyz, r0, r3 mov r3.xyz, -c3 add r0.xyz, r0, r3 mov r2.xy, r2 add r3.xyz, r0, c4.z dp3 r0.w, r3, r3 rsq r0.w, r0.w mul r3.xyz, r3, r0.w mov r3.xyz, r3 mul r0.w, r3.y, c4.w add r3.w, r0.w, c5.x add r4.xyz, r3.xwzw, c4.z dp3 r0.w, r4, r4 rsq r0.w, r0.w mul r4.xy, r4.xzzw, r0.w mov r0.w, -r4.x max r2.w, r4.x, r0.w mov r3.w, -r2.w add r3.w, r3.w, c4.y rsq r3.w, r3.w rcp r3.w, r3.w mul r4.z, r2.w, c5.y add r4.z, r4.z, c5.z mul r4.z, r2.w, r4.z add r4.z, r4.z, c5.w mul r2.w, r2.w, r4.z add r2.w, r2.w, c6.x mul r2.w, r3.w, r2.w mul r3.w, r2.w, c6.y add r3.w, r3.w, c6.z slt r0.w, r4.x, r0.w mul r0.w, r3.w, r0.w add r0.w, r2.w, r0.w mov r0.w, -r0.w add r0.w, r0.w, c6.w mul r0.w, r0.w, c7.x add r4.z, r0.w, c5.x mov r0.w, -r4.y max r2.w, r4.y, r0.w mov r3.w, -r2.w add r3.w, r3.w, c4.y rsq r3.w, r3.w rcp r3.w, r3.w mul r4.x, r2.w, c5.y add r4.x, r4.x, c5.z mul r4.x, r2.w, r4.x add r4.x, r4.x, c5.w mul r2.w, r2.w, r4.x add r2.w, r2.w, c6.x mul r2.w, r3.w, r2.w mul r3.w, r2.w, c6.y add r3.w, r3.w, c6.z slt r0.w, r4.y, r0.w mul r0.w, r3.w, r0.w add r0.w, r2.w, r0.w mov r0.w, -r0.w add r0.w, r0.w, c6.w mul r0.w, r0.w, c7.x add r4.w, r0.w, c5.x add r4.zw, r4, c74.xyxy mul r4.xy, r4.zwzw, c73.x mov r3.zw, -r3.xyxz add r3.zw, r3, c64.xyxz mov r5.y, c7.y mul r5.xy, r5.y, c70.x mul r3.zw, r3, r5.xyxy mov r5.xy, r2 mov r3.zw, r3 mul r5.zw, r5.xyxy, -c6.y add r5.zw, r5, -c4.y mul r0.w, r5.z, r5.z mul r2.w, r5.w, r5.w add r0.w, r0.w, r2.w mov r0.w, -r0.w add r0.w, r0.w, c4.y mul r3.zw, r3, r0.w add r6.xy, r2, r3.zwzw add r3.zw, r5.xyxy, -c5.x mul r0.w, r3.z, r3.z mul r2.w, r3.w, r3.w add r0.w, r0.w, r2.w add r3.zw, r3, c4.z mul r2.w, r3.z, r3.z mul r5.x, r3.w, r3.w add r2.w, r2.w, r5.x rsq r2.w, r2.w mul r3.zw, r3, r2.w mul r3.zw, r0.w, r3 mul r3.zw, r3, c4.y mov r3.zw, r3 mul r3.zw, r3, c72.z add r6.zw, r3, c75.xyxy add r3.zw, r2.xyxy, -c5.x mul r3.zw, r3, c69.w mul r0.w, r3.z, r3.z mul r2.w, r3.w, r3.w add r0.w, r0.w, r2.w rsq r0.w, r0.w rcp r0.w, r0.w mov r0.w, -r0.w add r5.z, r0.w, c4.y add r5.xy, r3.zwzw, c5.x mov r5.xy, r5 mov r5.z, r5.z rcp r0.w, r1.w mul r0.w, r1.z, r0.w mov r0.w, -r0.w add r2.z, r0.w, c4.y mov r3.xy, r3 mul r0.w, r3.y, c68.x max r0.w, r0.w, c4.x min r0.w, r0.w, c4.y mov r0.w, -r0.w add r0.w, r0.w, c4.y mul r0.w, r0.w, c71.x mov r3.x, r3.x mul r2.w, r3.x, c4.y add r2.w, r2.w, c4.x mul r2.w, r2.w, c5.x add r2.w, r2.w, c5.x mov r3.xyz, -c67 add r3.xyz, r3, c66 mul r3.xyz, r2.w, r3 add r3.xyz, r3, c67 mul r3.xyz, r0.w, r3 add r3.xyz, r3, c65 mov r3.xyz, r3 mov r1, r1 mov r6.xy, r6 mov r6.zw, r6 mov r4.xy, r4 mov r4.zw, r4 mov r2.xy, r2 mov r2.z, r2.z mov r0.xyz, r0 mov r5.xy, r5 mov r5.z, r5.z mov r3.xyz, r3 mov o0, r1 mov o3, r6 mov o4, r4 mov o1.xyz, r2 mov o2.xyz, r0 mov o5.xyz, r5 mov o6.xyz, r3 // approximately 166 instruction slots used }; pixelshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // float CloudBias; // float4 CloudColor; // float CloudFadeOut; // float CloudInscatteringRange; // float CloudShadowStrength; // float4 CloudThicknessEdgeSmoothDetailScaleStrength; // float CloudThreshold; // sampler2D GalaxySampler; // float HDRExposure; // float3 HDRExposureClamp; // float3 HDRSunExposure; // sampler2D HighDetailNoiseSampler; // float4 MoonColorConstant; // float MoonGlow; // sampler2D MoonGlowSampler; // float4 MoonLight; // float3 MoonPosition; // sampler2D MoonSampler; // float MoonVisiblity; // float3 MoonXVector; // float3 MoonYVector; // sampler2D PerlinNoiseSampler; // float4 StarFieldBrightness; // float3 SunCentre; // float3 SunColor; // float4 SunDirection; // float SunSize; // float4 SunsetColor; // float4 TopCloudBiasDetailThresholdHeight; // float3 TopCloudColor; // float3 gtaSkyDomeFade; // float3 gtaWaterColor; // // // Registers: // // Name Reg Size // ------------------------------------------- ----- ---- // SunCentre c64 1 // SunDirection c65 1 // SunColor c66 1 // gtaSkyDomeFade c67 1 // gtaWaterColor c68 1 // MoonGlow c69 1 // CloudColor c70 1 // SunsetColor c71 1 // CloudThreshold c72 1 // CloudBias c73 1 // CloudFadeOut c74 1 // TopCloudBiasDetailThresholdHeight c75 1 // TopCloudColor c76 1 // CloudShadowStrength c77 1 // CloudInscatteringRange c78 1 // CloudThicknessEdgeSmoothDetailScaleStrength c79 1 // StarFieldBrightness c80 1 // MoonLight c81 1 // MoonVisiblity c82 1 // SunSize c83 1 // MoonColorConstant c84 1 // MoonPosition c85 1 // MoonXVector c86 1 // MoonYVector c87 1 // HDRExposure c88 1 // HDRSunExposure c89 1 // HDRExposureClamp c90 1 // MoonSampler s0 1 // MoonGlowSampler s1 1 // GalaxySampler s2 1 // PerlinNoiseSampler s3 1 // HighDetailNoiseSampler s4 1 // ps_3_0 def c0, 9.99999975e-006, 1, 0, 0 def c1, 25.1599998, 0.5, -0.0625, -0.461699992 def c2, 0.9375, 0.5, 32, 0.600000024 def c3, 4, -2, 3, 0.200000003 def c4, 0.349999994, 0.899999976, -0.00999999978, 0.99000001 def c5, 64, 0.300000012, 0.699999988, 0.170000002 def c6, 1.39999998, 0, 0, 0 dcl_texcoord_pp v0.xy dcl_texcoord1_pp v1.xyz dcl_texcoord2_pp v2 dcl_texcoord3_pp v3.zw dcl_texcoord4_pp v4.xyz dcl_texcoord5_pp v5.xyz dcl_2d s0 dcl_2d s1 dcl_2d s2 dcl_2d s3 dcl_2d s4 mov r0.xyz, v1 mov_pp r1.xyz, v5 mov_pp r2.xy, v2 mov_pp r2.z, v4.z mov_pp r0.w, r0.y mov_pp r3.xyz, c65 add r0.xyz, r0, c0.x dp3 r1.w, r0, r0 rsq r1.w, r1.w mul_pp r0.xyz, r0, r1.w mov_pp r4.xyz, c66 mov r1.w, c65.w mov r3.xyz, r3 mov r0.xyz, r0 mov r2.w, c83.x mov r3.w, -c89.y add r3.w, r3.w, c0.y add r4.w, r3.w, c0.z cmp r3.w, r4.w, r3.w, c0.w add r4.w, r3.w, -c0.y cmp r3.w, r4.w, c0.y, r3.w mul r3.w, r3.w, c1.x dp3 r3.x, r0, r3 mul r5.x, r3.w, c1.y mov r5.yz, c1.xzyw mul r3.xyz, r3.x, r5 mul r5.x, r3.w, c1.w mov r5.yz, c2.xxyw add r3.xyz, r3, r5 add r5.xyz, r3, c0.z cmp r3.xyz, r5, r3, c0.w add r5.xyz, r3, -c0.y cmp r3.xyz, r5.zxyw, c0.y, r3.zxyw mov r3.w, -r3.y mov r4.w, -r3.w add r4.w, r3.y, r4.w cmp r3.y, r4.w, r3.y, r3.w log r3.y, r3.y mul r3.y, r3.y, c2.z exp r3.y, r3.y mov r3.w, -r3.z mov r4.w, -r3.w add r4.w, r3.z, r4.w cmp r3.z, r4.w, r3.z, r3.w mul r3.w, r3.z, c0.y mul r3.z, r3.z, r3.z mul r3.z, r3.w, r3.z add r1.w, r1.w, c2.w add r3.w, r1.w, c0.z cmp r1.w, r3.w, r1.w, c0.w add r3.w, r1.w, -c0.y cmp r1.w, r3.w, c0.y, r1.w mul r1.w, r3.z, r1.w mov r1.w, -r1.w add r1.w, r3.y, r1.w mul r2.w, r2.w, r3.x add r1.w, r1.w, r2.w mul r1.w, r1.w, c1.y add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp r1.w, r2.w, c0.y, r1.w mul r1.w, r1.w, c3.x mov r2.w, c64.x mov r3.y, c64.y mov r3.x, r3.x mul r3.x, r3.y, r3.x add r2.w, r2.w, r3.x add r3.x, r2.w, c0.z cmp r2.w, r3.x, r2.w, c0.w add r3.x, r2.w, -c0.y cmp r2.w, r3.x, c0.y, r2.w mul r3.x, r2.w, r2.w mul r2.w, r2.w, c3.y add r2.w, r2.w, c3.z mul r2.w, r3.x, r2.w mul r2.w, r2.w, c64.z add r3.xyz, r1.w, r2.w mov r1.w, -r3.z add r1.w, r1.w, c0.y add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp_pp r3.w, r2.w, c0.y, r1.w mov_pp r3.xyz, r3 mov_pp r3, r3 mul_pp r4.xyz, r4, r3 mov_pp r5.xyz, -r4 mov_pp r6.xyz, -r5 add_pp r6.xyz, r4, r6 cmp_pp r5.xyz, r6, r4, r5 mul_pp r5.xyz, r5, r5 mul_pp r5.xyz, r5, r5 mul_pp r5.xyz, r5, c0.y add_pp r3.xyz, r4, r5 mul_pp r3, r3, c89.x mov_pp r1.xyz, r1 mov_pp r2.xyz, r2 mov_pp r3, r3 texld_pp r4, v0, s3 mov_pp r4.xy, r4.xzzw texld r5, v2.zwzw, s4 add r1.w, r5.x, -c1.y mul r2.w, r1.w, c79.w add_pp r4.x, r4.x, r2.w mul r4.x, r4.x, c72.x mov r4.z, -c73.x add r4.x, r4.x, r4.z add r4.w, r4.x, c0.z cmp r4.x, r4.w, r4.x, c0.w add r4.w, r4.x, -c0.y cmp r4.x, r4.w, c0.y, r4.x mov_pp r4.w, -r4.x mov_pp r5.x, -r4.w add_pp r5.x, r4.x, r5.x cmp_pp r4.w, r5.x, r4.x, r4.w log r4.w, r4.w mul r4.w, r4.w, c79.x exp r4.w, r4.w mul r4.x, r4.x, c79.y add r5.x, r4.x, c0.z cmp r4.x, r5.x, r4.x, c0.w add r5.x, r4.x, -c0.y cmp r4.x, r5.x, c0.y, r4.x mul r4.x, r4.w, r4.x texld_pp r5, v2, s3 mov_pp r5.x, r5.x mul r2.xy, r2, c79.z texld r6, r2, s4 mul r2.x, r6.x, c79.w mul r2.x, r2.x, c3.w add_pp r2.x, r5.x, r2.x mul r2.x, r2.x, c72.x add r2.x, r4.z, r2.x mul r2.x, r2.x, c77.x add r2.y, r2.x, c0.z cmp r2.x, r2.y, r2.x, c0.w add r2.y, r2.x, -c0.y cmp r2.x, r2.y, c0.y, r2.x texld_pp r5, v4, s3 mov_pp r2.y, r5.y mul r2.w, r2.w, c75.y add_pp r2.y, r2.y, r2.w mul r2.y, r2.y, c75.z mov r2.w, -c75.x add r2.y, r2.y, r2.w add r2.w, r2.y, c0.z cmp r2.y, r2.w, r2.y, c0.w add r2.w, r2.y, -c0.y cmp r2.y, r2.w, c0.y, r2.y mul_pp r2.y, r2.z, r2.y dp3 r2.z, r0, c65 mul_pp r2.w, r2.z, r2.z mov r4.z, -r4.x add r4.z, r4.z, c0.y mul r4.w, r2.x, c1.y mov r4.w, -r4.w add r4.w, r4.z, r4.w add r5.x, r4.w, c0.z cmp r4.w, r5.x, r4.w, c0.w add r5.x, r4.w, -c0.y cmp r4.w, r5.x, c0.y, r4.w mul r2.w, r2.w, r4.w mul r2.w, r2.w, c78.x add_pp r2.w, r2.w, c0.y mul r2.w, r2.w, c0.y mul r1.w, r1.w, c3.w add r1.w, r4.y, r1.w add r4.y, r1.w, c0.z cmp r1.w, r4.y, r1.w, c0.w add r4.y, r1.w, -c0.y cmp r1.w, r4.y, c0.y, r1.w mov r4.y, -r2.x add r4.y, r4.y, c0.y mul r4.y, r4.x, r4.y mul r4.y, r1.w, r4.y add_pp r1.w, r1.w, r4.y mul r2.z, r2.z, c1.y mul r2.z, r2.z, c1.y add r2.z, r2.z, c4.x mul_pp r1.w, r1.w, r2.z mul r5.xyz, r2.w, c70 mov r2.xzw, -r2.x add r2.xzw, r5.xyyz, r2 mul r5.xyz, r1.w, c71 add_pp r2.xzw, r2, r5.xyyz mov_pp r5.xyz, c76 mul r1.w, r2.y, r4.z mov_pp r6.xyz, -r2.xzww add_pp r5.xyz, r5, r6 mul_pp r5.xyz, r1.w, r5 add_pp r2.xyz, r2.xzww, r5 mul r1.w, r4.z, r1.w add r1.w, r4.x, r1.w mul_pp r1.xyz, r1, r3.w add_pp r4.xyz, r1, c0.z cmp_pp r1.xyz, r4, r1, c0.w add_pp r4.xyz, r1, -c0.y cmp_pp r1.xyz, r4, c0.y, r1 add_pp r1.xyz, r3, r1 texld r3, v3.zwzw, s2 mul_pp r3.xyz, r3, c80.y mov r4.xyz, -c85 add r4.xyz, r0, r4 mov r5.xyz, -c86 add r4.xyz, r4, r5 mov r5.xyz, -c87 add r4.xyz, r4, r5 dp3 r5.x, c86, r4 dp3 r5.y, c87, r4 add r0.xz, r5.xyyw, -c1.y mul r0.xz, r0, c4.y add r0.xz, r0, c1.y add r2.w, r0.x, c4.z cmp r2.w, r2.w, c0.w, c0.y mov r3.w, -r0.x add r3.w, r3.w, c4.w cmp r3.w, r3.w, c0.w, c0.y add r2.w, r2.w, r3.w mov r2.w, -r2.w add r2.w, r2.w, r2.w cmp_pp r2.w, r2.w, c0.w, c0.y add r3.w, r0.z, c4.z cmp r3.w, r3.w, c0.w, c0.y mov r4.x, -r0.z add r4.x, r4.x, c4.w cmp r4.x, r4.x, c0.w, c0.y add r3.w, r3.w, r4.x mov r3.w, -r3.w add r3.w, r3.w, r3.w cmp_pp r3.w, r3.w, c0.w, c0.y mul r0.xz, r0, c81.xyyw add_pp r0.xz, r0, c81.zyww dsx_pp r4.xy, r0.xzzw dsy_pp r4.zw, r0.xyxz add_pp r2.w, r2.w, r3.w add r2.w, r2.w, c0.z mov r3.w, -r2.w mov r5.z, -r3.w add r5.z, r2.w, r5.z cmp r2.w, r5.z, r2.w, r3.w mov r2.w, -r2.w add r2.w, r2.w, r2.w cmp r2.w, r2.w, c0.y, c0.w if_ne r2.w, -r2.w mov r2.w, -r5.x add r2.w, r2.w, c0.y cmp r2.w, r2.w, c0.w, c0.y add r3.w, r5.x, c0.z cmp r3.w, r3.w, c0.w, c0.y add r2.w, r2.w, r3.w mov r2.w, -r2.w add r2.w, r2.w, r2.w cmp_pp r5.zw, r2.w, c0.w, c0.y add_pp r2.w, r5.w, r5.z add_pp r3.w, r2.w, c0.z cmp_pp r2.w, r3.w, r2.w, c0.w add_pp r3.w, r2.w, -c0.y cmp_pp r2.w, r3.w, c0.y, r2.w mov r2.w, -r2.w add_pp r2.w, r2.w, c0.y mul r5.xy, r5, c81 add_pp r5.xy, r5, c81.zwzw texldd_pp r5, r5, s0, r4, r4.zwzw mul r5, r2.w, r5 mul r6.xyz, r5.w, c84 mul_pp r5.xyz, r5, r6 texldd_pp r4, r0.xzzw, s1, r4, r4.zwzw mov_pp r4.x, r4.x mov r4.y, c0.y add r4.yzw, r4.y, c84.xxyz mul r4.xyz, r4.x, r4.yzww mul_pp r4.xyz, r4, c69.x add_pp r5.xyz, r5, r4 mov r2.w, c84.w mul r0.x, r2.w, c5.x add r0.z, r0.x, c0.z cmp r0.x, r0.z, r0.x, c0.w add r0.z, r0.x, -c0.y cmp r0.x, r0.z, c0.y, r0.x mul r0.x, r5.w, r0.x mov r0.x, -r0.x add r0.x, r0.x, c0.y mul r3.xyz, r3, r0.x dp3_pp r0.x, r1, c5.yzww mul_pp r0.x, r0.x, c82.x mov r0.x, -r0.x add_pp r0.x, r0.x, c0.y add_pp r0.z, r0.x, c0.z cmp_pp r0.x, r0.z, r0.x, c0.w add_pp r0.z, r0.x, -c0.y cmp_pp r0.x, r0.z, c0.y, r0.x mul_pp r0.x, r0.x, r0.x mov r0.z, -r1.w add r2.w, r0.z, c0.y mul_pp r0.x, r0.x, r2.w mul_pp r5.xyz, r5, r0.x mul_pp r4.xyz, r4, r0.x add r0.x, r0.z, c6.x mul r4.xyz, r4, r0.x add r4.xyz, r4, c0.y mul r2.xyz, r2, r4 add r1.xyz, r1, r5 endif add_pp r1.xyz, r1, r3 mul r0.x, r0.y, c3.x mov r0.y, -c74.x add r0.x, r0.x, r0.y add r0.y, r0.x, c0.z cmp r0.x, r0.y, r0.x, c0.w add r0.y, r0.x, -c0.y cmp_pp r0.x, r0.y, c0.y, r0.x mul_pp r0.x, r1.w, r0.x mov_pp r3.xyz, -r1 add_pp r2.xyz, r2, r3 mul_pp r0.xyz, r0.x, r2 add_pp r0.xyz, r1, r0 mul_pp r0.xyz, r0, c88.x mov r1.xyz, -r0 add r1.xyz, r1, c90 cmp_pp r0.xyz, r1, r0, c90 mov_pp r0.xyz, r0 mov_pp r0.xyz, r0 mov r1.xyz, -c90 add r1.xyz, r0, r1 cmp r0.xyz, r1, c90, r0 mov r0.xyz, r0 mov r0.xyz, r0 mov r0.xyz, r0 mov r0.w, -r0.w add r0.w, r0.w, c67.x mul r0.w, r0.w, c67.y add r1.x, r0.w, c0.z cmp r0.w, r1.x, r0.w, c0.w add r1.x, r0.w, -c0.y cmp r0.w, r1.x, c0.y, r0.w mov r1.xyz, c68 mov r2.xyz, -r0 add r1.xyz, r1, r2 mul r1.xyz, r0.w, r1 add r0.xyz, r0, r1 mov r0.xyz, r0 mov r0.w, c0.y mov oC0, r0 // approximately 352 instruction slots used (8 texture, 344 arithmetic) }; } } technique draw_withstarfield { pass p0 { vertexshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // float3 AzimuthColor; // float3 AzimuthColorEast; // float AzimuthHeight; // float AzimuthStrength; // float CloudShadowOffset; // float4 CloudThicknessEdgeSmoothDetailScaleStrength; // float2 DetailOffset; // float2 GalaxyOffset; // float3 SkyColor; // float StarFieldUVRepeat; // float4 SunDirection; // float4 TopCloudBiasDetailThresholdHeight; // row_major float4x4 gWorld; // row_major float4x4 gWorldViewProj; // // // Registers: // // Name Reg Size // ------------------------------------------- ----- ---- // gWorld c0 4 // gWorldViewProj c8 4 // SunDirection c64 1 // SkyColor c65 1 // AzimuthColor c66 1 // AzimuthColorEast c67 1 // AzimuthHeight c68 1 // TopCloudBiasDetailThresholdHeight c69 1 // CloudShadowOffset c70 1 // AzimuthStrength c71 1 // CloudThicknessEdgeSmoothDetailScaleStrength c72 1 // StarFieldUVRepeat c73 1 // GalaxyOffset c74 1 // DetailOffset c75 1 // vs_3_0 def c4, 0, 1, 9.99999975e-006, 1.5 def c5, 0.5, -0.0187292993, 0.0742610022, -0.212114394 def c6, 1.57072878, -2, 3.14159274, 1.57079637 def c7, 0.317732662, 0.100000001, 0, 0 dcl_position v0 dcl_texcoord v1 dcl_position o0 dcl_texcoord o1.xyz dcl_texcoord1 o2.xyz dcl_texcoord2 o3 dcl_texcoord3 o4 dcl_texcoord4 o5.xyz dcl_texcoord5 o6.xyz mov r0.x, -v0.y max r0.x, r0.x, c4.x min r0.x, r0.x, c4.y mov r0.x, -r0.x add r0.x, r0.x, v0.y mul r1, c8, v0.x mul r2, r0.x, c9 add r1, r1, r2 mul r2, c10, v0.z add r1, r1, r2 mul r2, c11, v0.w add r1, r1, r2 mov r1, r1 mov r2.xy, v1 mov r1, r1 mul r0.yzw, c0.xxyz, v0.x mul r3.xyz, r0.x, c1 add r0.xyz, r0.yzww, r3 mul r3.xyz, c2, v0.z add r0.xyz, r0, r3 mul r3.xyz, c3, v0.w add r0.xyz, r0, r3 mov r3.xyz, -c3 add r0.xyz, r0, r3 mov r2.xy, r2 add r3.xyz, r0, c4.z dp3 r0.w, r3, r3 rsq r0.w, r0.w mul r3.xyz, r3, r0.w mov r3.xyz, r3 mul r0.w, r3.y, c4.w add r3.w, r0.w, c5.x add r4.xyz, r3.xwzw, c4.z dp3 r0.w, r4, r4 rsq r0.w, r0.w mul r4.xy, r4.xzzw, r0.w mov r0.w, -r4.x max r2.w, r4.x, r0.w mov r3.w, -r2.w add r3.w, r3.w, c4.y rsq r3.w, r3.w rcp r3.w, r3.w mul r4.z, r2.w, c5.y add r4.z, r4.z, c5.z mul r4.z, r2.w, r4.z add r4.z, r4.z, c5.w mul r2.w, r2.w, r4.z add r2.w, r2.w, c6.x mul r2.w, r3.w, r2.w mul r3.w, r2.w, c6.y add r3.w, r3.w, c6.z slt r0.w, r4.x, r0.w mul r0.w, r3.w, r0.w add r0.w, r2.w, r0.w mov r0.w, -r0.w add r0.w, r0.w, c6.w mul r0.w, r0.w, c7.x add r4.z, r0.w, c5.x mov r0.w, -r4.y max r2.w, r4.y, r0.w mov r3.w, -r2.w add r3.w, r3.w, c4.y rsq r3.w, r3.w rcp r3.w, r3.w mul r4.x, r2.w, c5.y add r4.x, r4.x, c5.z mul r4.x, r2.w, r4.x add r4.x, r4.x, c5.w mul r2.w, r2.w, r4.x add r2.w, r2.w, c6.x mul r2.w, r3.w, r2.w mul r3.w, r2.w, c6.y add r3.w, r3.w, c6.z slt r0.w, r4.y, r0.w mul r0.w, r3.w, r0.w add r0.w, r2.w, r0.w mov r0.w, -r0.w add r0.w, r0.w, c6.w mul r0.w, r0.w, c7.x add r4.w, r0.w, c5.x add r4.zw, r4, c74.xyxy mul r4.xy, r4.zwzw, c73.x mov r3.zw, -r3.xyxz add r3.zw, r3, c64.xyxz mov r5.y, c7.y mul r5.xy, r5.y, c70.x mul r3.zw, r3, r5.xyxy mov r5.xy, r2 mov r3.zw, r3 mul r5.zw, r5.xyxy, -c6.y add r5.zw, r5, -c4.y mul r0.w, r5.z, r5.z mul r2.w, r5.w, r5.w add r0.w, r0.w, r2.w mov r0.w, -r0.w add r0.w, r0.w, c4.y mul r3.zw, r3, r0.w add r6.xy, r2, r3.zwzw add r3.zw, r5.xyxy, -c5.x mul r0.w, r3.z, r3.z mul r2.w, r3.w, r3.w add r0.w, r0.w, r2.w add r3.zw, r3, c4.z mul r2.w, r3.z, r3.z mul r5.x, r3.w, r3.w add r2.w, r2.w, r5.x rsq r2.w, r2.w mul r3.zw, r3, r2.w mul r3.zw, r0.w, r3 mul r3.zw, r3, c4.y mov r3.zw, r3 mul r3.zw, r3, c72.z add r6.zw, r3, c75.xyxy add r3.zw, r2.xyxy, -c5.x mul r3.zw, r3, c69.w mul r0.w, r3.z, r3.z mul r2.w, r3.w, r3.w add r0.w, r0.w, r2.w rsq r0.w, r0.w rcp r0.w, r0.w mov r0.w, -r0.w add r5.z, r0.w, c4.y add r5.xy, r3.zwzw, c5.x mov r5.xy, r5 mov r5.z, r5.z rcp r0.w, r1.w mul r0.w, r1.z, r0.w mov r0.w, -r0.w add r2.z, r0.w, c4.y mov r3.xy, r3 mul r0.w, r3.y, c68.x max r0.w, r0.w, c4.x min r0.w, r0.w, c4.y mov r0.w, -r0.w add r0.w, r0.w, c4.y mul r0.w, r0.w, c71.x mov r3.x, r3.x mul r2.w, r3.x, c4.y add r2.w, r2.w, c4.x mul r2.w, r2.w, c5.x add r2.w, r2.w, c5.x mov r3.xyz, -c67 add r3.xyz, r3, c66 mul r3.xyz, r2.w, r3 add r3.xyz, r3, c67 mul r3.xyz, r0.w, r3 add r3.xyz, r3, c65 mov r3.xyz, r3 mov r1, r1 mov r6.xy, r6 mov r6.zw, r6 mov r4.xy, r4 mov r4.zw, r4 mov r2.xy, r2 mov r2.z, r2.z mov r0.xyz, r0 mov r5.xy, r5 mov r5.z, r5.z mov r3.xyz, r3 mov o0, r1 mov o3, r6 mov o4, r4 mov o1.xyz, r2 mov o2.xyz, r0 mov o5.xyz, r5 mov o6.xyz, r3 // approximately 166 instruction slots used }; pixelshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // float CloudBias; // float4 CloudColor; // float CloudFadeOut; // float CloudInscatteringRange; // float CloudShadowStrength; // float4 CloudThicknessEdgeSmoothDetailScaleStrength; // float CloudThreshold; // sampler2D GalaxySampler; // float HDRExposure; // float3 HDRExposureClamp; // float3 HDRSunExposure; // sampler2D HighDetailNoiseSampler; // sampler2D PerlinNoiseSampler; // float4 StarFieldBrightness; // sampler2D StarFieldSampler; // float3 SunCentre; // float3 SunColor; // float4 SunDirection; // float SunSize; // float4 SunsetColor; // float4 TopCloudBiasDetailThresholdHeight; // float3 TopCloudColor; // float3 gtaSkyDomeFade; // float3 gtaWaterColor; // // // Registers: // // Name Reg Size // ------------------------------------------- ----- ---- // SunCentre c64 1 // SunDirection c65 1 // SunColor c66 1 // gtaSkyDomeFade c67 1 // gtaWaterColor c68 1 // CloudColor c69 1 // SunsetColor c70 1 // CloudThreshold c71 1 // CloudBias c72 1 // CloudFadeOut c73 1 // TopCloudBiasDetailThresholdHeight c74 1 // TopCloudColor c75 1 // CloudShadowStrength c76 1 // CloudInscatteringRange c77 1 // CloudThicknessEdgeSmoothDetailScaleStrength c78 1 // StarFieldBrightness c79 1 // SunSize c80 1 // HDRExposure c81 1 // HDRSunExposure c82 1 // HDRExposureClamp c83 1 // StarFieldSampler s0 1 // GalaxySampler s1 1 // PerlinNoiseSampler s2 1 // HighDetailNoiseSampler s3 1 // ps_3_0 def c0, 9.99999975e-006, 1, 0, 0 def c1, 25.1599998, 0.5, -0.0625, -0.461699992 def c2, 0.9375, 0.5, 32, 0.600000024 def c3, 4, -2, 3, 0.200000003 def c4, 0.349999994, 1.20000005, 0, 0 dcl_texcoord_pp v0.xy dcl_texcoord1_pp v1.xyz dcl_texcoord2_pp v2 dcl_texcoord3_pp v3 dcl_texcoord4_pp v4.xyz dcl_texcoord5_pp v5.xyz dcl_2d s0 dcl_2d s1 dcl_2d s2 dcl_2d s3 mov r0.xyz, v1 mov_pp r1.xyz, v5 mov_pp r2.xy, v2 mov_pp r2.z, v4.z mov_pp r0.w, r0.y mov_pp r3.xyz, c65 add r0.xyz, r0, c0.x dp3 r1.w, r0, r0 rsq r1.w, r1.w mul_pp r0.xyz, r0, r1.w mov_pp r4.xyz, c66 mov r1.w, c65.w mov r3.xyz, r3 mov r0.xyz, r0 mov r2.w, c80.x mov r3.w, -c82.y add r3.w, r3.w, c0.y add r4.w, r3.w, c0.z cmp r3.w, r4.w, r3.w, c0.w add r4.w, r3.w, -c0.y cmp r3.w, r4.w, c0.y, r3.w mul r3.w, r3.w, c1.x dp3 r3.x, r0, r3 mul r5.x, r3.w, c1.y mov r5.yz, c1.xzyw mul r3.xyz, r3.x, r5 mul r5.x, r3.w, c1.w mov r5.yz, c2.xxyw add r3.xyz, r3, r5 add r5.xyz, r3, c0.z cmp r3.xyz, r5, r3, c0.w add r5.xyz, r3, -c0.y cmp r3.xyz, r5.zxyw, c0.y, r3.zxyw mov r3.w, -r3.y mov r4.w, -r3.w add r4.w, r3.y, r4.w cmp r3.y, r4.w, r3.y, r3.w log r3.y, r3.y mul r3.y, r3.y, c2.z exp r3.y, r3.y mov r3.w, -r3.z mov r4.w, -r3.w add r4.w, r3.z, r4.w cmp r3.z, r4.w, r3.z, r3.w mul r3.w, r3.z, c0.y mul r3.z, r3.z, r3.z mul r3.z, r3.w, r3.z add r1.w, r1.w, c2.w add r3.w, r1.w, c0.z cmp r1.w, r3.w, r1.w, c0.w add r3.w, r1.w, -c0.y cmp r1.w, r3.w, c0.y, r1.w mul r1.w, r3.z, r1.w mov r1.w, -r1.w add r1.w, r3.y, r1.w mul r2.w, r2.w, r3.x add r1.w, r1.w, r2.w mul r1.w, r1.w, c1.y add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp r1.w, r2.w, c0.y, r1.w mul r1.w, r1.w, c3.x mov r2.w, c64.x mov r3.y, c64.y mov r3.x, r3.x mul r3.x, r3.y, r3.x add r2.w, r2.w, r3.x add r3.x, r2.w, c0.z cmp r2.w, r3.x, r2.w, c0.w add r3.x, r2.w, -c0.y cmp r2.w, r3.x, c0.y, r2.w mul r3.x, r2.w, r2.w mul r2.w, r2.w, c3.y add r2.w, r2.w, c3.z mul r2.w, r3.x, r2.w mul r2.w, r2.w, c64.z add r3.xyz, r1.w, r2.w mov r1.w, -r3.z add r1.w, r1.w, c0.y add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp_pp r3.w, r2.w, c0.y, r1.w mov_pp r3.xyz, r3 mov_pp r3, r3 mul_pp r4.xyz, r4, r3 mov_pp r5.xyz, -r4 mov_pp r6.xyz, -r5 add_pp r6.xyz, r4, r6 cmp_pp r5.xyz, r6, r4, r5 mul_pp r5.xyz, r5, r5 mul_pp r5.xyz, r5, r5 mul_pp r5.xyz, r5, c0.y add_pp r3.xyz, r4, r5 mul_pp r3, r3, c82.x mov_pp r1.xyz, r1 mov_pp r2.xyz, r2 mov_pp r3, r3 texld_pp r4, v0, s2 mov_pp r4.xy, r4.xzzw texld r5, v2.zwzw, s3 add r1.w, r5.x, -c1.y mul r2.w, r1.w, c78.w add_pp r4.x, r4.x, r2.w mul r4.x, r4.x, c71.x mov r4.z, -c72.x add r4.x, r4.x, r4.z add r4.w, r4.x, c0.z cmp r4.x, r4.w, r4.x, c0.w add r4.w, r4.x, -c0.y cmp r4.x, r4.w, c0.y, r4.x mov_pp r4.w, -r4.x mov_pp r5.x, -r4.w add_pp r5.x, r4.x, r5.x cmp_pp r4.w, r5.x, r4.x, r4.w log r4.w, r4.w mul r4.w, r4.w, c78.x exp r4.w, r4.w mul r4.x, r4.x, c78.y add r5.x, r4.x, c0.z cmp r4.x, r5.x, r4.x, c0.w add r5.x, r4.x, -c0.y cmp r4.x, r5.x, c0.y, r4.x mul r4.x, r4.w, r4.x texld_pp r5, v2, s2 mov_pp r5.x, r5.x mul r2.xy, r2, c78.z texld r6, r2, s3 mul r2.x, r6.x, c78.w mul r2.x, r2.x, c3.w add_pp r2.x, r5.x, r2.x mul r2.x, r2.x, c71.x add r2.x, r4.z, r2.x mul r2.x, r2.x, c76.x add r2.y, r2.x, c0.z cmp r2.x, r2.y, r2.x, c0.w add r2.y, r2.x, -c0.y cmp r2.x, r2.y, c0.y, r2.x texld_pp r5, v4, s2 mov_pp r2.y, r5.y mul r2.w, r2.w, c74.y add_pp r2.y, r2.y, r2.w mul r2.y, r2.y, c74.z mov r2.w, -c74.x add r2.y, r2.y, r2.w add r2.w, r2.y, c0.z cmp r2.y, r2.w, r2.y, c0.w add r2.w, r2.y, -c0.y cmp r2.y, r2.w, c0.y, r2.y mul_pp r2.y, r2.z, r2.y dp3 r0.x, r0, c65 mul_pp r0.z, r0.x, r0.x mov r2.z, -r4.x add r2.z, r2.z, c0.y mul r2.w, r2.x, c1.y mov r2.w, -r2.w add r2.w, r2.z, r2.w add r4.z, r2.w, c0.z cmp r2.w, r4.z, r2.w, c0.w add r4.z, r2.w, -c0.y cmp r2.w, r4.z, c0.y, r2.w mul r0.z, r0.z, r2.w mul r0.z, r0.z, c77.x add_pp r0.z, r0.z, c0.y mul r0.z, r0.z, c0.y mul r1.w, r1.w, c3.w add r1.w, r4.y, r1.w add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp r1.w, r2.w, c0.y, r1.w mov r2.w, -r2.x add r2.w, r2.w, c0.y mul r2.w, r4.x, r2.w mul r2.w, r1.w, r2.w add_pp r1.w, r1.w, r2.w mul r0.x, r0.x, c1.y mul r0.x, r0.x, c1.y add r0.x, r0.x, c4.x mul_pp r0.x, r1.w, r0.x mul r4.yzw, r0.z, c69.xxyz mov r5.xyz, -r2.x add r4.yzw, r4, r5.xxyz mul r5.xyz, r0.x, c70 add_pp r4.yzw, r4, r5.xxyz mov_pp r5.xyz, c75 mul r0.x, r2.y, r2.z mov_pp r2.xyw, -r4.yzzw add_pp r2.xyw, r5.xyzz, r2 mul_pp r2.xyw, r0.x, r2 add_pp r2.xyw, r4.yzzw, r2 mul r0.x, r2.z, r0.x add_pp r0.x, r4.x, r0.x mul_pp r1.xyz, r1, r3.w add_pp r4.xyz, r1, c0.z cmp_pp r1.xyz, r4, r1, c0.w add_pp r4.xyz, r1, -c0.y cmp_pp r1.xyz, r4, c0.y, r1 add_pp r1.xyz, r3, r1 texld r3, v3, s0 mul r3.xyz, r3, c79.x mov r4.xyz, -c79.z add_pp r3.xyz, r3, r4 texld r4, v3.zwzw, s1 mul r4.xyz, r4, c79.y dp3 r0.z, r4, c4.y mul r5.xyz, r3, r0.z add r3.xyz, r3, r5 add r3.xyz, r4, r3 add r4.xyz, r3, c0.z cmp r3.xyz, r4, r3, c0.w add r4.xyz, r3, -c0.y cmp_pp r3.xyz, r4, c0.y, r3 add_pp r1.xyz, r1, r3 mul r0.y, r0.y, c3.x mov r0.z, -c73.x add r0.y, r0.y, r0.z add r0.z, r0.y, c0.z cmp r0.y, r0.z, r0.y, c0.w add r0.z, r0.y, -c0.y cmp_pp r0.y, r0.z, c0.y, r0.y mul_pp r0.x, r0.x, r0.y mov_pp r3.xyz, -r1 add_pp r2.xyz, r2.xyww, r3 mul_pp r0.xyz, r0.x, r2 add_pp r0.xyz, r1, r0 mul_pp r0.xyz, r0, c81.x mov r1.xyz, -r0 add r1.xyz, r1, c83 cmp_pp r0.xyz, r1, r0, c83 mov_pp r0.xyz, r0 mov_pp r0.xyz, r0 mov r1.xyz, -c83 add r1.xyz, r0, r1 cmp r0.xyz, r1, c83, r0 mov r0.xyz, r0 mov r0.xyz, r0 mov r0.xyz, r0 mov r0.w, -r0.w add r0.w, r0.w, c67.x mul r0.w, r0.w, c67.y add r1.x, r0.w, c0.z cmp r0.w, r1.x, r0.w, c0.w add r1.x, r0.w, -c0.y cmp r0.w, r1.x, c0.y, r0.w mov r1.xyz, c68 mov r2.xyz, -r0 add r1.xyz, r1, r2 mul r1.xyz, r0.w, r1 add r0.xyz, r0, r1 mov r0.xyz, r0 mov r0.w, c0.y mov oC0, r0 // approximately 254 instruction slots used (7 texture, 247 arithmetic) }; } } technique draw_withstarfield_withmoon { pass p0 { vertexshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // float3 AzimuthColor; // float3 AzimuthColorEast; // float AzimuthHeight; // float AzimuthStrength; // float CloudShadowOffset; // float4 CloudThicknessEdgeSmoothDetailScaleStrength; // float2 DetailOffset; // float2 GalaxyOffset; // float3 SkyColor; // float StarFieldUVRepeat; // float4 SunDirection; // float4 TopCloudBiasDetailThresholdHeight; // row_major float4x4 gWorld; // row_major float4x4 gWorldViewProj; // // // Registers: // // Name Reg Size // ------------------------------------------- ----- ---- // gWorld c0 4 // gWorldViewProj c8 4 // SunDirection c64 1 // SkyColor c65 1 // AzimuthColor c66 1 // AzimuthColorEast c67 1 // AzimuthHeight c68 1 // TopCloudBiasDetailThresholdHeight c69 1 // CloudShadowOffset c70 1 // AzimuthStrength c71 1 // CloudThicknessEdgeSmoothDetailScaleStrength c72 1 // StarFieldUVRepeat c73 1 // GalaxyOffset c74 1 // DetailOffset c75 1 // vs_3_0 def c4, 0, 1, 9.99999975e-006, 1.5 def c5, 0.5, -0.0187292993, 0.0742610022, -0.212114394 def c6, 1.57072878, -2, 3.14159274, 1.57079637 def c7, 0.317732662, 0.100000001, 0, 0 dcl_position v0 dcl_texcoord v1 dcl_position o0 dcl_texcoord o1.xyz dcl_texcoord1 o2.xyz dcl_texcoord2 o3 dcl_texcoord3 o4 dcl_texcoord4 o5.xyz dcl_texcoord5 o6.xyz mov r0.x, -v0.y max r0.x, r0.x, c4.x min r0.x, r0.x, c4.y mov r0.x, -r0.x add r0.x, r0.x, v0.y mul r1, c8, v0.x mul r2, r0.x, c9 add r1, r1, r2 mul r2, c10, v0.z add r1, r1, r2 mul r2, c11, v0.w add r1, r1, r2 mov r1, r1 mov r2.xy, v1 mov r1, r1 mul r0.yzw, c0.xxyz, v0.x mul r3.xyz, r0.x, c1 add r0.xyz, r0.yzww, r3 mul r3.xyz, c2, v0.z add r0.xyz, r0, r3 mul r3.xyz, c3, v0.w add r0.xyz, r0, r3 mov r3.xyz, -c3 add r0.xyz, r0, r3 mov r2.xy, r2 add r3.xyz, r0, c4.z dp3 r0.w, r3, r3 rsq r0.w, r0.w mul r3.xyz, r3, r0.w mov r3.xyz, r3 mul r0.w, r3.y, c4.w add r3.w, r0.w, c5.x add r4.xyz, r3.xwzw, c4.z dp3 r0.w, r4, r4 rsq r0.w, r0.w mul r4.xy, r4.xzzw, r0.w mov r0.w, -r4.x max r2.w, r4.x, r0.w mov r3.w, -r2.w add r3.w, r3.w, c4.y rsq r3.w, r3.w rcp r3.w, r3.w mul r4.z, r2.w, c5.y add r4.z, r4.z, c5.z mul r4.z, r2.w, r4.z add r4.z, r4.z, c5.w mul r2.w, r2.w, r4.z add r2.w, r2.w, c6.x mul r2.w, r3.w, r2.w mul r3.w, r2.w, c6.y add r3.w, r3.w, c6.z slt r0.w, r4.x, r0.w mul r0.w, r3.w, r0.w add r0.w, r2.w, r0.w mov r0.w, -r0.w add r0.w, r0.w, c6.w mul r0.w, r0.w, c7.x add r4.z, r0.w, c5.x mov r0.w, -r4.y max r2.w, r4.y, r0.w mov r3.w, -r2.w add r3.w, r3.w, c4.y rsq r3.w, r3.w rcp r3.w, r3.w mul r4.x, r2.w, c5.y add r4.x, r4.x, c5.z mul r4.x, r2.w, r4.x add r4.x, r4.x, c5.w mul r2.w, r2.w, r4.x add r2.w, r2.w, c6.x mul r2.w, r3.w, r2.w mul r3.w, r2.w, c6.y add r3.w, r3.w, c6.z slt r0.w, r4.y, r0.w mul r0.w, r3.w, r0.w add r0.w, r2.w, r0.w mov r0.w, -r0.w add r0.w, r0.w, c6.w mul r0.w, r0.w, c7.x add r4.w, r0.w, c5.x add r4.zw, r4, c74.xyxy mul r4.xy, r4.zwzw, c73.x mov r3.zw, -r3.xyxz add r3.zw, r3, c64.xyxz mov r5.y, c7.y mul r5.xy, r5.y, c70.x mul r3.zw, r3, r5.xyxy mov r5.xy, r2 mov r3.zw, r3 mul r5.zw, r5.xyxy, -c6.y add r5.zw, r5, -c4.y mul r0.w, r5.z, r5.z mul r2.w, r5.w, r5.w add r0.w, r0.w, r2.w mov r0.w, -r0.w add r0.w, r0.w, c4.y mul r3.zw, r3, r0.w add r6.xy, r2, r3.zwzw add r3.zw, r5.xyxy, -c5.x mul r0.w, r3.z, r3.z mul r2.w, r3.w, r3.w add r0.w, r0.w, r2.w add r3.zw, r3, c4.z mul r2.w, r3.z, r3.z mul r5.x, r3.w, r3.w add r2.w, r2.w, r5.x rsq r2.w, r2.w mul r3.zw, r3, r2.w mul r3.zw, r0.w, r3 mul r3.zw, r3, c4.y mov r3.zw, r3 mul r3.zw, r3, c72.z add r6.zw, r3, c75.xyxy add r3.zw, r2.xyxy, -c5.x mul r3.zw, r3, c69.w mul r0.w, r3.z, r3.z mul r2.w, r3.w, r3.w add r0.w, r0.w, r2.w rsq r0.w, r0.w rcp r0.w, r0.w mov r0.w, -r0.w add r5.z, r0.w, c4.y add r5.xy, r3.zwzw, c5.x mov r5.xy, r5 mov r5.z, r5.z rcp r0.w, r1.w mul r0.w, r1.z, r0.w mov r0.w, -r0.w add r2.z, r0.w, c4.y mov r3.xy, r3 mul r0.w, r3.y, c68.x max r0.w, r0.w, c4.x min r0.w, r0.w, c4.y mov r0.w, -r0.w add r0.w, r0.w, c4.y mul r0.w, r0.w, c71.x mov r3.x, r3.x mul r2.w, r3.x, c4.y add r2.w, r2.w, c4.x mul r2.w, r2.w, c5.x add r2.w, r2.w, c5.x mov r3.xyz, -c67 add r3.xyz, r3, c66 mul r3.xyz, r2.w, r3 add r3.xyz, r3, c67 mul r3.xyz, r0.w, r3 add r3.xyz, r3, c65 mov r3.xyz, r3 mov r1, r1 mov r6.xy, r6 mov r6.zw, r6 mov r4.xy, r4 mov r4.zw, r4 mov r2.xy, r2 mov r2.z, r2.z mov r0.xyz, r0 mov r5.xy, r5 mov r5.z, r5.z mov r3.xyz, r3 mov o0, r1 mov o3, r6 mov o4, r4 mov o1.xyz, r2 mov o2.xyz, r0 mov o5.xyz, r5 mov o6.xyz, r3 // approximately 166 instruction slots used }; pixelshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // float CloudBias; // float4 CloudColor; // float CloudFadeOut; // float CloudInscatteringRange; // float CloudShadowStrength; // float4 CloudThicknessEdgeSmoothDetailScaleStrength; // float CloudThreshold; // sampler2D GalaxySampler; // float HDRExposure; // float3 HDRExposureClamp; // float3 HDRSunExposure; // sampler2D HighDetailNoiseSampler; // float4 MoonColorConstant; // float MoonGlow; // sampler2D MoonGlowSampler; // float4 MoonLight; // float3 MoonPosition; // sampler2D MoonSampler; // float MoonVisiblity; // float3 MoonXVector; // float3 MoonYVector; // sampler2D PerlinNoiseSampler; // float4 StarFieldBrightness; // sampler2D StarFieldSampler; // float3 SunCentre; // float3 SunColor; // float4 SunDirection; // float SunSize; // float4 SunsetColor; // float4 TopCloudBiasDetailThresholdHeight; // float3 TopCloudColor; // float3 gtaSkyDomeFade; // float3 gtaWaterColor; // // // Registers: // // Name Reg Size // ------------------------------------------- ----- ---- // SunCentre c64 1 // SunDirection c65 1 // SunColor c66 1 // gtaSkyDomeFade c67 1 // gtaWaterColor c68 1 // MoonGlow c69 1 // CloudColor c70 1 // SunsetColor c71 1 // CloudThreshold c72 1 // CloudBias c73 1 // CloudFadeOut c74 1 // TopCloudBiasDetailThresholdHeight c75 1 // TopCloudColor c76 1 // CloudShadowStrength c77 1 // CloudInscatteringRange c78 1 // CloudThicknessEdgeSmoothDetailScaleStrength c79 1 // StarFieldBrightness c80 1 // MoonLight c81 1 // MoonVisiblity c82 1 // SunSize c83 1 // MoonColorConstant c84 1 // MoonPosition c85 1 // MoonXVector c86 1 // MoonYVector c87 1 // HDRExposure c88 1 // HDRSunExposure c89 1 // HDRExposureClamp c90 1 // MoonSampler s0 1 // MoonGlowSampler s1 1 // StarFieldSampler s2 1 // GalaxySampler s3 1 // PerlinNoiseSampler s4 1 // HighDetailNoiseSampler s5 1 // ps_3_0 def c0, 9.99999975e-006, 1, 0, 0 def c1, 25.1599998, 0.5, -0.0625, -0.461699992 def c2, 0.9375, 0.5, 32, 0.600000024 def c3, 4, -2, 3, 0.200000003 def c4, 0.349999994, 1.20000005, 0.899999976, -0.00999999978 def c5, 0.99000001, 64, 1.39999998, 0 def c6, 0.300000012, 0.699999988, 0.170000002, 0 dcl_texcoord_pp v0.xy dcl_texcoord1_pp v1.xyz dcl_texcoord2_pp v2 dcl_texcoord3_pp v3 dcl_texcoord4_pp v4.xyz dcl_texcoord5_pp v5.xyz dcl_2d s0 dcl_2d s1 dcl_2d s2 dcl_2d s3 dcl_2d s4 dcl_2d s5 mov r0.xyz, v1 mov_pp r1.xyz, v5 mov_pp r2.xy, v2 mov_pp r2.z, v4.z mov_pp r0.w, r0.y mov_pp r3.xyz, c65 add r0.xyz, r0, c0.x dp3 r1.w, r0, r0 rsq r1.w, r1.w mul_pp r0.xyz, r0, r1.w mov_pp r4.xyz, c66 mov r1.w, c65.w mov r3.xyz, r3 mov r0.xyz, r0 mov r2.w, c83.x mov r3.w, -c89.y add r3.w, r3.w, c0.y add r4.w, r3.w, c0.z cmp r3.w, r4.w, r3.w, c0.w add r4.w, r3.w, -c0.y cmp r3.w, r4.w, c0.y, r3.w mul r3.w, r3.w, c1.x dp3 r3.x, r0, r3 mul r5.x, r3.w, c1.y mov r5.yz, c1.xzyw mul r3.xyz, r3.x, r5 mul r5.x, r3.w, c1.w mov r5.yz, c2.xxyw add r3.xyz, r3, r5 add r5.xyz, r3, c0.z cmp r3.xyz, r5, r3, c0.w add r5.xyz, r3, -c0.y cmp r3.xyz, r5.zxyw, c0.y, r3.zxyw mov r3.w, -r3.y mov r4.w, -r3.w add r4.w, r3.y, r4.w cmp r3.y, r4.w, r3.y, r3.w log r3.y, r3.y mul r3.y, r3.y, c2.z exp r3.y, r3.y mov r3.w, -r3.z mov r4.w, -r3.w add r4.w, r3.z, r4.w cmp r3.z, r4.w, r3.z, r3.w mul r3.w, r3.z, c0.y mul r3.z, r3.z, r3.z mul r3.z, r3.w, r3.z add r1.w, r1.w, c2.w add r3.w, r1.w, c0.z cmp r1.w, r3.w, r1.w, c0.w add r3.w, r1.w, -c0.y cmp r1.w, r3.w, c0.y, r1.w mul r1.w, r3.z, r1.w mov r1.w, -r1.w add r1.w, r3.y, r1.w mul r2.w, r2.w, r3.x add r1.w, r1.w, r2.w mul r1.w, r1.w, c1.y add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp r1.w, r2.w, c0.y, r1.w mul r1.w, r1.w, c3.x mov r2.w, c64.x mov r3.y, c64.y mov r3.x, r3.x mul r3.x, r3.y, r3.x add r2.w, r2.w, r3.x add r3.x, r2.w, c0.z cmp r2.w, r3.x, r2.w, c0.w add r3.x, r2.w, -c0.y cmp r2.w, r3.x, c0.y, r2.w mul r3.x, r2.w, r2.w mul r2.w, r2.w, c3.y add r2.w, r2.w, c3.z mul r2.w, r3.x, r2.w mul r2.w, r2.w, c64.z add r3.xyz, r1.w, r2.w mov r1.w, -r3.z add r1.w, r1.w, c0.y add r2.w, r1.w, c0.z cmp r1.w, r2.w, r1.w, c0.w add r2.w, r1.w, -c0.y cmp_pp r3.w, r2.w, c0.y, r1.w mov_pp r3.xyz, r3 mov_pp r3, r3 mul_pp r4.xyz, r4, r3 mov_pp r5.xyz, -r4 mov_pp r6.xyz, -r5 add_pp r6.xyz, r4, r6 cmp_pp r5.xyz, r6, r4, r5 mul_pp r5.xyz, r5, r5 mul_pp r5.xyz, r5, r5 mul_pp r5.xyz, r5, c0.y add_pp r3.xyz, r4, r5 mul_pp r3, r3, c89.x mov_pp r1.xyz, r1 mov_pp r2.xyz, r2 mov_pp r3, r3 texld_pp r4, v0, s4 mov_pp r4.xy, r4.xzzw texld r5, v2.zwzw, s5 add r1.w, r5.x, -c1.y mul r2.w, r1.w, c79.w add_pp r4.x, r4.x, r2.w mul r4.x, r4.x, c72.x mov r4.z, -c73.x add r4.x, r4.x, r4.z add r4.w, r4.x, c0.z cmp r4.x, r4.w, r4.x, c0.w add r4.w, r4.x, -c0.y cmp r4.x, r4.w, c0.y, r4.x mov_pp r4.w, -r4.x mov_pp r5.x, -r4.w add_pp r5.x, r4.x, r5.x cmp_pp r4.w, r5.x, r4.x, r4.w log r4.w, r4.w mul r4.w, r4.w, c79.x exp r4.w, r4.w mul r4.x, r4.x, c79.y add r5.x, r4.x, c0.z cmp r4.x, r5.x, r4.x, c0.w add r5.x, r4.x, -c0.y cmp r4.x, r5.x, c0.y, r4.x mul r4.x, r4.w, r4.x texld_pp r5, v2, s4 mov_pp r5.x, r5.x mul r2.xy, r2, c79.z texld r6, r2, s5 mul r2.x, r6.x, c79.w mul r2.x, r2.x, c3.w add_pp r2.x, r5.x, r2.x mul r2.x, r2.x, c72.x add r2.x, r4.z, r2.x mul r2.x, r2.x, c77.x add r2.y, r2.x, c0.z cmp r2.x, r2.y, r2.x, c0.w add r2.y, r2.x, -c0.y cmp r2.x, r2.y, c0.y, r2.x texld_pp r5, v4, s4 mov_pp r2.y, r5.y mul r2.w, r2.w, c75.y add_pp r2.y, r2.y, r2.w mul r2.y, r2.y, c75.z mov r2.w, -c75.x add r2.y, r2.y, r2.w add r2.w, r2.y, c0.z cmp r2.y, r2.w, r2.y, c0.w add r2.w, r2.y, -c0.y cmp r2.y, r2.w, c0.y, r2.y mul_pp r2.y, r2.z, r2.y dp3 r2.z, r0, c65 mul_pp r2.w, r2.z, r2.z mov r4.z, -r4.x add r4.z, r4.z, c0.y mul r4.w, r2.x, c1.y mov r4.w, -r4.w add r4.w, r4.z, r4.w add r5.x, r4.w, c0.z cmp r4.w, r5.x, r4.w, c0.w add r5.x, r4.w, -c0.y cmp r4.w, r5.x, c0.y, r4.w mul r2.w, r2.w, r4.w mul r2.w, r2.w, c78.x add_pp r2.w, r2.w, c0.y mul r2.w, r2.w, c0.y mul r1.w, r1.w, c3.w add r1.w, r4.y, r1.w add r4.y, r1.w, c0.z cmp r1.w, r4.y, r1.w, c0.w add r4.y, r1.w, -c0.y cmp r1.w, r4.y, c0.y, r1.w mov r4.y, -r2.x add r4.y, r4.y, c0.y mul r4.y, r4.x, r4.y mul r4.y, r1.w, r4.y add_pp r1.w, r1.w, r4.y mul r2.z, r2.z, c1.y mul r2.z, r2.z, c1.y add r2.z, r2.z, c4.x mul_pp r1.w, r1.w, r2.z mul r5.xyz, r2.w, c70 mov r2.xzw, -r2.x add r2.xzw, r5.xyyz, r2 mul r5.xyz, r1.w, c71 add_pp r2.xzw, r2, r5.xyyz mov_pp r5.xyz, c76 mul r1.w, r2.y, r4.z mov_pp r6.xyz, -r2.xzww add_pp r5.xyz, r5, r6 mul_pp r5.xyz, r1.w, r5 add_pp r2.xyz, r2.xzww, r5 mul r1.w, r4.z, r1.w add r1.w, r4.x, r1.w mul_pp r1.xyz, r1, r3.w add_pp r4.xyz, r1, c0.z cmp_pp r1.xyz, r4, r1, c0.w add_pp r4.xyz, r1, -c0.y cmp_pp r1.xyz, r4, c0.y, r1 add_pp r1.xyz, r3, r1 texld r3, v3, s2 mul r3.xyz, r3, c80.x mov r4.xyz, -c80.z add_pp r3.xyz, r3, r4 texld r4, v3.zwzw, s3 mul r4.xyz, r4, c80.y dp3 r2.w, r4, c4.y mul r5.xyz, r3, r2.w add r3.xyz, r3, r5 add r3.xyz, r4, r3 add r4.xyz, r3, c0.z cmp r3.xyz, r4, r3, c0.w add r4.xyz, r3, -c0.y cmp_pp r3.xyz, r4, c0.y, r3 mov r4.xyz, -c85 add r4.xyz, r0, r4 mov r5.xyz, -c86 add r4.xyz, r4, r5 mov r5.xyz, -c87 add r4.xyz, r4, r5 dp3 r5.x, c86, r4 dp3 r5.y, c87, r4 add r0.xz, r5.xyyw, -c1.y mul r0.xz, r0, c4.z add r0.xz, r0, c1.y add r2.w, r0.x, c4.w cmp r2.w, r2.w, c0.w, c0.y mov r3.w, -r0.x add r3.w, r3.w, c5.x cmp r3.w, r3.w, c0.w, c0.y add r2.w, r2.w, r3.w mov r2.w, -r2.w add r2.w, r2.w, r2.w cmp_pp r2.w, r2.w, c0.w, c0.y add r3.w, r0.z, c4.w cmp r3.w, r3.w, c0.w, c0.y mov r4.x, -r0.z add r4.x, r4.x, c5.x cmp r4.x, r4.x, c0.w, c0.y add r3.w, r3.w, r4.x mov r3.w, -r3.w add r3.w, r3.w, r3.w cmp_pp r3.w, r3.w, c0.w, c0.y mul r0.xz, r0, c81.xyyw add_pp r0.xz, r0, c81.zyww dsx_pp r4.xy, r0.xzzw dsy_pp r4.zw, r0.xyxz add_pp r2.w, r2.w, r3.w add r2.w, r2.w, c0.z mov r3.w, -r2.w mov r5.z, -r3.w add r5.z, r2.w, r5.z cmp r2.w, r5.z, r2.w, r3.w mov r2.w, -r2.w add r2.w, r2.w, r2.w cmp r2.w, r2.w, c0.y, c0.w if_ne r2.w, -r2.w mov r2.w, -r5.x add r2.w, r2.w, c0.y cmp r2.w, r2.w, c0.w, c0.y add r3.w, r5.x, c0.z cmp r3.w, r3.w, c0.w, c0.y add r2.w, r2.w, r3.w mov r2.w, -r2.w add r2.w, r2.w, r2.w cmp_pp r5.zw, r2.w, c0.w, c0.y add_pp r2.w, r5.w, r5.z add_pp r3.w, r2.w, c0.z cmp_pp r2.w, r3.w, r2.w, c0.w add_pp r3.w, r2.w, -c0.y cmp_pp r2.w, r3.w, c0.y, r2.w mov r2.w, -r2.w add_pp r2.w, r2.w, c0.y mul r5.xy, r5, c81 add_pp r5.xy, r5, c81.zwzw texldd_pp r5, r5, s0, r4, r4.zwzw mul r5, r2.w, r5 mul r6.xyz, r5.w, c84 mul_pp r5.xyz, r5, r6 texldd_pp r4, r0.xzzw, s1, r4, r4.zwzw mov_pp r4.x, r4.x mov r4.y, c0.y add r4.yzw, r4.y, c84.xxyz mul r4.xyz, r4.x, r4.yzww mul_pp r4.xyz, r4, c69.x add_pp r5.xyz, r5, r4 mov r2.w, c84.w mul r0.x, r2.w, c5.y add r0.z, r0.x, c0.z cmp r0.x, r0.z, r0.x, c0.w add r0.z, r0.x, -c0.y cmp r0.x, r0.z, c0.y, r0.x mul r0.x, r5.w, r0.x mov r0.x, -r0.x add r0.x, r0.x, c0.y mul r3.xyz, r3, r0.x dp3_pp r0.x, r1, c6 mul_pp r0.x, r0.x, c82.x mov r0.x, -r0.x add_pp r0.x, r0.x, c0.y add_pp r0.z, r0.x, c0.z cmp_pp r0.x, r0.z, r0.x, c0.w add_pp r0.z, r0.x, -c0.y cmp_pp r0.x, r0.z, c0.y, r0.x mul_pp r0.x, r0.x, r0.x mov r0.z, -r1.w add r2.w, r0.z, c0.y mul_pp r0.x, r0.x, r2.w mul_pp r5.xyz, r5, r0.x mul_pp r4.xyz, r4, r0.x add r0.x, r0.z, c5.z mul r4.xyz, r4, r0.x add r4.xyz, r4, c0.y mul r2.xyz, r2, r4 add r1.xyz, r1, r5 endif add_pp r1.xyz, r1, r3 mul r0.x, r0.y, c3.x mov r0.y, -c74.x add r0.x, r0.x, r0.y add r0.y, r0.x, c0.z cmp r0.x, r0.y, r0.x, c0.w add r0.y, r0.x, -c0.y cmp_pp r0.x, r0.y, c0.y, r0.x mul_pp r0.x, r1.w, r0.x mov_pp r3.xyz, -r1 add_pp r2.xyz, r2, r3 mul_pp r0.xyz, r0.x, r2 add_pp r0.xyz, r1, r0 mul_pp r0.xyz, r0, c88.x mov r1.xyz, -r0 add r1.xyz, r1, c90 cmp_pp r0.xyz, r1, r0, c90 mov_pp r0.xyz, r0 mov_pp r0.xyz, r0 mov r1.xyz, -c90 add r1.xyz, r0, r1 cmp r0.xyz, r1, c90, r0 mov r0.xyz, r0 mov r0.xyz, r0 mov r0.xyz, r0 mov r0.w, -r0.w add r0.w, r0.w, c67.x mul r0.w, r0.w, c67.y add r1.x, r0.w, c0.z cmp r0.w, r1.x, r0.w, c0.w add r1.x, r0.w, -c0.y cmp r0.w, r1.x, c0.y, r0.w mov r1.xyz, c68 mov r2.xyz, -r0 add r1.xyz, r1, r2 mul r1.xyz, r0.w, r1 add r0.xyz, r0, r1 mov r0.xyz, r0 mov r0.w, c0.y mov oC0, r0 // approximately 364 instruction slots used (9 texture, 355 arithmetic) }; } } technique draw_stencil { pass p0 { vertexshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 // // Parameters: // // row_major float4x4 gWorldViewProj; // // // Registers: // // Name Reg Size // -------------- ----- ---- // gWorldViewProj c8 4 // vs_3_0 dcl_position v0 dcl_position o0 mul r0, c8, v0.x mul r1, c9, v0.y add r0, r0, r1 mul r1, c10, v0.z add r0, r0, r1 mul r1, c11, v0.w add o0, r0, r1 // approximately 7 instruction slots used }; pixelshader = asm { // // Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378 ps_3_0 def c0, 0, 0, 0, 0 mov oC0, c0.x // approximately 1 instruction slot used }; } }