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: 46
- ; Instructions removed by optimizer: 3
- ; Used Constants: 20
- ; Used Vertex Slots: 0
- ; Used Registers: 6
-
- #define c_constants 0
- #define c_decompress_object_scale 1
- #define c_ambient_light 6
- #define c_worldviewprojection_0 2
- #define c_worldviewprojection_1 3
- #define c_worldviewprojection_2 4
- #define c_worldviewprojection_3 5
- #define c_cubematrix_0 9
- #define c_cubematrix_1 10
- #define c_cubematrix_2 11
- #define c_fogconst 8
- #define c_pointlight_diffuse_0 17
- #define c_pointlight_diffuse_1 19
- #define c_dirlight_diffuse_0 13
- #define c_dirlight_diffuse_1 15
- #define c_objectspace_eyeposition 7
- #define c_dirlight_direction_0 12
- #define c_dirlight_direction_1 14
- #define c_pointlight_position_0 16
- #define c_pointlight_position_1 18
-
- vs.1.0
-
- ; f_move_uncompressed_position
-
- ; f_decompress_normal
- mad r1, v3, c[c_constants].zzzz, -c[c_constants].yyyy
-
- ; f_decompress_texture0
- mad r2.xy, v2.ywww, c[c_constants].wwww, v2.xzzz
- mad oT0.xy, r2.xyyy, c[c_decompress_object_scale].zzzz, -c[c_decompress_object_scale].wwww
-
- ; f_move_fixed_localposition
- mov r0, v0
-
- ; f_move_fixed_localnormal
-
- ; 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 r3, c[c_ambient_light]
-
- ; f_create_objectspace_eyevector_local_viewer
- add r4, r0, -c[c_objectspace_eyeposition]
- dp3 r4.w, r4, r4
- rsq r5.w, r4.wwww
- mul r4, -r4, r5.wwww
-
- ; f_calculate_linear_range_fog
- rcp r5.w, r5.wwww
- add r5.x, c[c_fogconst].yyyy, -r5.wwww
- mul r5.x, r5.xxxx, c[c_fogconst].zzzz
- add oFog, r5.xxxx, -c[c_fogconst].xxxx
-
- ; f_calculate_objectspace_reflection
- dp3 r5.xyz, r4.xyzz, r1.xyzz
- add r5.xyz, -r5.xyzz, -r5.xyzz
- mad r5.xyz, r1.xyzz, -r5.xyzz, -r4.xyzz
-
- ; f_calculate_cubereflection_vector_t1
- dp3 oT1.x, r5, c[c_cubematrix_0]
- dp3 oT1.y, r5, c[c_cubematrix_1]
- dp3 oT1.z, r5, c[c_cubematrix_2]
-
- ; f_calculate_objectspace_directionallight_diffuse_intensity
- dp3 r5, r1, c[c_dirlight_direction_0]
-
- ; f_clamp_diffuse_exponentiate_specular
- lit r5, r5
-
- ; f_dirlight_accumulate_diffuse
- mad r5, r5.yyyy, c[c_dirlight_diffuse_0], r3
-
- ; f_calculate_objectspace_directionallight_diffuse_intensity
- dp3 r3, r1, c[c_dirlight_direction_1]
-
- ; f_clamp_diffuse_exponentiate_specular
- lit r3, r3
-
- ; f_dirlight_accumulate_diffuse
- mad r3, r3.yyyy, c[c_dirlight_diffuse_1], r5
-
- ; f_calculate_objectspace_pointlight_vector
- add r5, c[c_pointlight_position_0], -r0
- dp3 r5.w, r5, r5
- rsq r5.w, r5.wwww
- mul r5, r5, r5.wwww
-
- ; f_calculate_objectspace_pointlight_diffuse_intensity
- dp3 r5, r1, r5
-
- ; f_clamp_diffuse_exponentiate_specular
- lit r5, r5
-
- ; f_pointlight_accumulate_diffuse
- mad r5, r5.yyyy, c[c_pointlight_diffuse_0], r3
-
- ; f_calculate_objectspace_pointlight_vector
- add r0, c[c_pointlight_position_1], -r0
- dp3 r0.w, r0, r0
- rsq r0.w, r0.wwww
- mul r0, r0, r0.wwww
-
- ; f_calculate_objectspace_pointlight_diffuse_intensity
- dp3 r1, r1, r0
-
- ; f_clamp_diffuse_exponentiate_specular
- lit r1, r1
-
- ; f_pointlight_accumulate_diffuse
- mad r1, r1.yyyy, c[c_pointlight_diffuse_1], r5
-
- ; f_write_default_texture
-
- ; f_set_diffuse_alpha_ambient
- mov oD0.w, c[c_ambient_light].wwww
-
- ; f_write_diffuse_result
- mov oD0.xyz, r1
-
- ; end
-