///////////////// // Set Diffuse // ///////////////// // set specular power in r8.w mov r8.w, c95.z // set ambient argb in r11 mov r11, c5 // get unclamped sun mag dp3 r8.x, v1, c7 // SunMag = Normal | SunDir // get unclamped sun specular mag dp3 r8.y, v1, c8 // SunSpecMag = Normal | HalfDir // clamp mags + raise specular mag to it's power lit r6, r8 // set final diffuse mad r0, r6.y, c6, r11 // FinalARGB = SunMag * SunARGB + AmbientARGB mul oD0, v2, r0 // Diffuse = VertexDiffuse * FinalARGB // set final specular mul r6, r6.z, c40 // Specular = SunSpecMag * SunSpecARGB // Multiply by the strength mul oD1, r6, c95.x