//////////////////////////////////////////////// // transform vertex pos into homogeneous xyzw // //////////////////////////////////////////////// // FOG_NONE dp4 oPos.x, v0, c0 dp4 oPos.y, v0, c1 dp4 oPos.z, v0, c2 dp4 r0.x, v0, c3 mov oPos.w,r0.x mad r0.x, r0.x , c90.x, c90.y min r0.x, r0.x , c90.w max r0.x, r0.x , c90.z mov oFog.x,r0.x // FOG_LINEAR ;dp4 r0.x, v0, c0 ;dp4 r0.y, v0, c1 ;dp4 r0.z, v0, c2 ;dp4 r0.w, v0, c3 ;mov oPos, r0 ;dp3 r0.w, r0, r0 ;rsq r1.w, r0.w ;mul oFog.x, r0.w, r1.w