home *** CD-ROM | disk | FTP | other *** search
- ; This source file can be requested from NVLink.
- ; It could be re-assembled as a shader, but note that
- ; NVLink has already assembled this file into D3D opcodes
- ; You can ask NVLink for the constant and vertex slots from the API.
-
- ; Total Instructions: 54
- ; Instructions removed by optimizer: 3
- ; Used Constants: 16
- ; Used Vertex Slots: 0
- ; Used Registers: 7
-
- #define c_constants 0
- #define c_decompress_object_scale 1
- #define c_screen_const 2
- #define c_ambient_light 13
- #define c_worldviewprojection_0 9
- #define c_worldviewprojection_1 10
- #define c_worldviewprojection_2 11
- #define c_worldviewprojection_3 12
- #define c_fogconst 15
- #define c_objectspace_eyeposition 14
- #define c_wavewarp_ref1 3
- #define c_wavewarp_ref2 4
- #define c_wavewarp_amt1 5
- #define c_wavewarp_amt2 6
- #define c_wavewarp_dir1 7
- #define c_wavewarp_dir2 8
-
- vs.1.1
-
- ; f_decompress_position
- mad r0.xy, v0.ywww, c[c_constants].wwww, v0.xzzz
- mad r0.zw, v1.yyyy, c[c_constants].wwww, v1.xxxx
- mad r0.xyz, r0.xyzz, c[c_decompress_object_scale].xxxx, -c[c_decompress_object_scale].yyyy
- mov r0.w, c[c_constants].yyyy
-
- ; f_decompress_normal
- mad r1, v3, c[c_constants].zzzz, -c[c_constants].yyyy
-
- ; f_decompress_texture0
- mad r1.xy, v2.ywww, c[c_constants].wwww, v2.xzzz
- mad oT0.xy, r1.xyyy, c[c_decompress_object_scale].zzzz, -c[c_decompress_object_scale].wwww
-
- ; f_decompress_texture1
- mad r2.xy, v14.ywww, c[c_constants].wwww, v14.xzzz
- mul oT1.xy, r2.xyyy, c[c_screen_const].zzzz
-
- ; f_move_fixed_localposition
-
- ; f_wavewarp
- dp4 r3.w, r0, c[c_wavewarp_ref1]
- expp r4.y, r3.wwww
- mad r4.x, r4.yyyy, c[c_constants].zzzz, -c[c_constants].yyyy
- mad r3.w, c[c_screen_const].xxxx, c[c_screen_const].xxxx, r3.wwww
- expp r3.y, r3.wwww
- mad r4.y, r3.yyyy, c[c_constants].zzzz, -c[c_constants].yyyy
- dp4 r3.w, r0, c[c_wavewarp_ref2]
- expp r5.y, r3.wwww
- mad r4.z, r5.yyyy, c[c_constants].zzzz, -c[c_constants].yyyy
- mad r3.w, c[c_screen_const].xxxx, c[c_screen_const].xxxx, r3.wwww
- expp r3.y, r3.wwww
- mad r4.w, r3.yyyy, c[c_constants].zzzz, -c[c_constants].yyyy
- mul r3, r4, r4
- mad r3, r3, r4, -r4
- mul r4.xyz, c[c_wavewarp_amt1].xyzz, v15.xyzz
- mul r5.xyz, c[c_wavewarp_amt2].xyzz, v15.xyzz
- mad r0.xyz, r4.xyzz, r3.xxxx, r0.xyzz
- mad r0.xyz, r5.xyzz, r3.zzzz, r0.xyzz
- dp3 r6.x, r4.xyzz, r4.xyzz
- mul r6.x, r6.xxxx, r3.yyyy
- mul r6.x, r6.xxxx, c[c_wavewarp_dir1].wwww
- dp3 r6.y, r4.xyzz, r5.xyzz
- mul r6.y, r6.yyyy, r3.wwww
- mul r6.y, r6.yyyy, c[c_wavewarp_dir2].wwww
- mad r4.xyz, c[c_wavewarp_dir1].xyzz, -r6.xxxx, r4.xyzz
- mad r6.xyz, c[c_wavewarp_dir2].xyzz, -r6.yyyy, r4.xyzz
- dp3 r6.w, r6.xyzz, r6.xyzz
- rsq r6.w, r6.wwww
- mul r6, r6, r6.wwww
-
- ; f_outputobjectpos_clipspace
- mov r0.w, c[c_constants].yyyy
- dp4 oPos.x, r0, c[c_worldviewprojection_0]
- dp4 oPos.y, r0, c[c_worldviewprojection_1]
- dp4 oPos.z, r0, c[c_worldviewprojection_2]
- dp4 oPos.w, r0, c[c_worldviewprojection_3]
-
- ; f_set_ambient
- mov r6, c[c_ambient_light]
-
- ; f_create_objectspace_eyevector_local_viewer
- add r0, r0, -c[c_objectspace_eyeposition]
- dp3 r0.w, r0, r0
- rsq r4.w, r0.wwww
- mul r0, -r0, r4.wwww
-
- ; f_calculate_linear_range_fog
- rcp r4.w, r4.wwww
- add r4.x, c[c_fogconst].yyyy, -r4.wwww
- mul r4.x, r4.xxxx, c[c_fogconst].zzzz
- add oFog, r4.xxxx, -c[c_fogconst].xxxx
-
- ; f_write_default_texture
-
- ; f_write_default_texture1
-
- ; f_set_diffuse_alpha_ambient
- mov oD0.w, c[c_ambient_light].wwww
-
- ; f_write_diffuse_result
- mov oD0.xyz, r6
-
- ; end
-