//--------------------------------------------------- // This file includes a number of basic GPU programs // for use in many materials. //--------------------------------------------------- // A really basic ambient pass program, support for one texture coodinate set vertex_program AmbientOneTexture cg { source demos/scene3d/programs/Basic.cg entry_point ambientOneTexture_vp profiles vs_1_1 arbvp1 default_params { param_named_auto worldViewProj worldviewproj_matrix param_named_auto ambient ambient_light_colour } } // A really basic ambient pass program, support for one texture coodinate set vertex_program AmbientOneTextureHLSL hlsl { source demos/scene3d/programs/Basic.hlsl entry_point ambientOneTexture_vp target vs_1_1 default_params { param_named_auto worldViewProj worldviewproj_matrix param_named_auto ambient ambient_light_colour } } // A really basic ambient pass program, support for one texture coodinate set vertex_program AmbientOneTextureGLSL glsl { source demos/scene3d/programs/AmbientOneTexture.glsl default_params { param_named_auto ambient ambient_light_colour } } vertex_program AmbientOneTextureUnified unified { delegate AmbientOneTextureGLSL delegate AmbientOneTextureHLSL } // A really basic ambient pass program, support for one texture coodinate set vertex_program AmbientOneTexture2 cg { source demos/scene3d/programs/Basic.cg entry_point ambientOneTexture2_vp profiles vs_1_1 arbvp1 default_params { param_named_auto worldViewProj worldviewproj_matrix param_named_auto ambient ambient_light_colour } } // A really basic ambient pass program, support for one texture coodinate set vertex_program AmbientOneTexture2HLSL hlsl { source demos/scene3d/programs/Basic.hlsl entry_point ambientOneTexture2_vp target vs_1_1 default_params { param_named_auto worldViewProj worldviewproj_matrix param_named_auto ambient ambient_light_colour } } // A really basic ambient pass program, support for one texture coodinate set vertex_program AmbientOneTexture2GLSL glsl { source demos/scene3d/programs/AmbientOneTexture2.glsl default_params { param_named_auto ambient ambient_light_colour } } vertex_program AmbientOneTexture2Unified unified { delegate AmbientOneTexture2GLSL delegate AmbientOneTexture2HLSL } // A really basic ambient pass program, support for one texture coodinate set vertex_program AmbientTwoTexture cg { source demos/scene3d/programs/Basic.cg entry_point ambientTwoTexture_vp profiles vs_1_1 arbvp1 default_params { param_named_auto worldViewProj worldviewproj_matrix param_named_auto ambient ambient_light_colour } } // A really basic ambient pass program, support for one texture coodinate set vertex_program AmbientTwoTextureHLSL hlsl { source demos/scene3d/programs/Basic.hlsl entry_point ambientTwoTexture_vp target vs_1_1 default_params { param_named_auto worldViewProj worldviewproj_matrix param_named_auto ambient ambient_light_colour } } // A really basic ambient pass program, support for one texture coodinate set vertex_program AmbientTwoTextureGLSL glsl { source demos/scene3d/programs/AmbientTwoTexture.glsl default_params { param_named_auto ambient ambient_light_colour } } vertex_program AmbientTwoTextureUnified unified { delegate AmbientTwoTextureGLSL delegate AmbientTwoTextureHLSL } // Same as below, but for use when rendering texture shadows vertex_program HardwareSkinningOneWeightShadowCaster cg { source demos/scene3d/programs/Basic.cg entry_point hardwareSkinningOneWeightCaster_vp profiles vs_1_1 arbvp1 includes_skeletal_animation true } // Basic hardware skinning using one indexed weight per vertex vertex_program HardwareSkinningOneWeight cg { source demos/scene3d/programs/Basic.cg entry_point hardwareSkinningOneWeight_vp profiles vs_1_1 arbvp1 includes_skeletal_animation true } // Same as below, but for use when rendering texture shadows vertex_program HardwareSkinningTwoWeightsShadowCasterCg cg { source demos/scene3d/programs/Basic.cg entry_point hardwareSkinningTwoWeightsCaster_vp profiles vs_1_1 arbvp1 includes_skeletal_animation true } vertex_program HardwareSkinningTwoWeightsShadowCasterGLSL glsl { source demos/scene3d/programs/skinningTwoWeightsShadowCasterVp.glsl includes_skeletal_animation true } vertex_program HardwareSkinningTwoWeightsShadowCaster unified { delegate HardwareSkinningTwoWeightsShadowCasterGLSL delegate HardwareSkinningTwoWeightsShadowCasterCg } // Basic hardware skinning using two indexed weights per vertex vertex_program HardwareSkinningTwoWeightsCg cg { source demos/scene3d/programs/Basic.cg entry_point hardwareSkinningTwoWeights_vp profiles vs_1_1 arbvp1 includes_skeletal_animation true } vertex_program HardwareSkinningTwoWeightsGLSL glsl { source demos/scene3d/programs/skinningTwoWeightsVp.glsl includes_skeletal_animation true } vertex_program HardwareSkinningTwoWeights unified { delegate HardwareSkinningTwoWeightsGLSL delegate HardwareSkinningTwoWeightsCg default_params { param_named_auto worldMatrix3x4Array world_matrix_array_3x4 param_named_auto viewProjectionMatrix viewproj_matrix param_named_auto lightPos[0] light_position 0 param_named_auto lightPos[1] light_position 1 param_named_auto lightDiffuseColour[0] light_diffuse_colour 0 param_named_auto lightDiffuseColour[1] light_diffuse_colour 1 } } // Basic hardware skinning using four indexed weights per vertex vertex_program HardwareSkinningFourWeights cg { source demos/scene3d/programs/Basic.cg entry_point hardwareSkinningFourWeights_vp profiles vs_1_1 arbvp1 includes_skeletal_animation true } // Basic hardware morph animation vertex_program HardwareMorphAnimation cg { source demos/scene3d/programs/Basic.cg entry_point hardwareMorphAnimation profiles vs_1_1 arbvp1 includes_morph_animation true default_params { param_named_auto worldViewProj worldviewproj_matrix param_named_auto anim_t animation_parametric } } // Basic hardware pose animation supporting 2 active poses vertex_program HardwarePoseAnimation cg { source demos/scene3d/programs/Basic.cg entry_point hardwarePoseAnimation profiles vs_1_1 arbvp1 includes_pose_animation 2 default_params { param_named_auto worldViewProj worldviewproj_matrix param_named_auto anim_t animation_parametric } } vertex_program Ambient cg { source demos/scene3d/programs/Basic.cg default_params { param_named_auto worldViewProj worldviewproj_matrix param_named ambient float4 0.0 0.0 0.0 1.0 } entry_point Ambient_vp profiles vs_1_1 arbvp1 } vertex_program PerVertex_Vert cg { source demos/scene3d/programs/Basic.cg default_params { param_named_auto lightPosition light_position_object_space 0 param_named_auto lightDiffuse light_diffuse_colour 0 param_named_auto lightSpecular light_specular_colour 0 param_named_auto worldviewproj worldviewproj_matrix param_named_auto eyePosition camera_position_object_space param_named exponent float 127 } entry_point PerVertex_Vert profiles vs_1_1 arbvp1 } vertex_program Simple_Perpixel_Vert cg { source demos/scene3d/programs/Basic.cg default_params { param_named_auto lightPosition0 light_position_object_space 0 // param_named_auto lightPosition1 light_position_object_space 1 // param_named_auto lightPosition2 light_position_object_space 2 param_named_auto worldviewproj worldviewproj_matrix } entry_point Simple_Perpixel_Vert profiles vs_1_1 arbvp1 } fragment_program Simple_PerPixel_Frag cg { source demos/scene3d/programs/Basic.cg default_params { param_named_auto eyePosition camera_position_object_space param_named_auto lightDiffuse0 light_diffuse_colour 0 // param_named_auto lightDiffuse1 light_diffuse_colour 1 // param_named_auto lightDiffuse2 light_diffuse_colour 2 param_named_auto lightSpecular0 light_specular_colour 0 // param_named_auto lightSpecular1 light_specular_colour 1 // param_named_auto lightSpecular2 light_specular_colour 2 param_named exponent0 float 127 // param_named exponent1 float 127 // param_named exponent2 float 127 //If changed, needs adjusting in Fragshader's every lit!!!!! param_named ambient float4 0.0 0.0 0.0 1.0 } entry_point Simple_PerPixel_Frag profiles ps_2_0 arbfp1 } vertex_program PerPixel_Vert cg { source demos/scene3d/programs/Basic.cg default_params { param_named_auto lightPosition light_position_object_space 0 param_named_auto eyePosition camera_position_object_space param_named_auto worldviewproj worldviewproj_matrix } entry_point PerPixel_Vert profiles vs_1_1 arbvp1 } fragment_program PerPixel_Frag cg { source demos/scene3d/programs/Basic.cg default_params { param_named_auto lightDiffuse light_diffuse_colour 0 param_named_auto lightSpecular light_specular_colour 0 param_named exponent float 127 } entry_point PerPixel_Frag profiles ps_2_0 arbfp1 } vertex_program PerPixel_Lim3_Vert cg { source demos/scene3d/programs/Basic.cg default_params { param_named_auto lightPosition0 light_position_object_space 0 param_named_auto lightPosition1 light_position_object_space 1 param_named_auto lightPosition2 light_position_object_space 2 param_named_auto eyePosition camera_position_object_space param_named_auto worldviewproj worldviewproj_matrix } entry_point PerPixel_Lim3_Vert profiles vs_1_1 arbvp1 } fragment_program PerPixel_Lim3_Frag cg { source demos/scene3d/programs/Basic.cg default_params { param_named_auto lightDiffuse0 light_diffuse_colour 0 param_named_auto lightDiffuse1 light_diffuse_colour 1 param_named_auto lightDiffuse2 light_diffuse_colour 2 param_named_auto lightSpecular0 light_specular_colour 0 param_named_auto lightSpecular1 light_specular_colour 1 param_named_auto lightSpecular2 light_specular_colour 2 param_named exponent0 float 127 // param_named exponent1 float 127 // param_named exponent2 float 127 //If changed, needs adjusting in Fragshader's every lit!!!!! param_named ambient float4 0.0 0.0 0.0 1.0 } entry_point PerPixel_Lim3_Frag profiles ps_2_0 arbfp1 }