257 lines
6.0 KiB
Plaintext
257 lines
6.0 KiB
Plaintext
|
|
material Bullet/Cone
|
|
{
|
|
// receive_shadows off
|
|
technique
|
|
{
|
|
pass
|
|
{
|
|
ambient 1 1 1 1
|
|
diffuse 1 1 1 1
|
|
specular 1 1 1 1 10
|
|
|
|
texture_unit
|
|
{
|
|
texture cone.png
|
|
tex_address_mode clamp
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
material Bullet/Capsule
|
|
{
|
|
receive_shadows off
|
|
technique
|
|
{
|
|
pass
|
|
{
|
|
ambient 1 1 1 1
|
|
diffuse 1 1 1 1
|
|
specular 1 1 1 1 10
|
|
|
|
texture_unit
|
|
{
|
|
texture capsule.png
|
|
tex_address_mode clamp
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
material Bullet/Ball
|
|
{
|
|
receive_shadows off
|
|
technique
|
|
{
|
|
pass
|
|
{
|
|
ambient 1 1 1 1
|
|
diffuse 1 1 1 1
|
|
specular 1 1 1 1 10
|
|
|
|
texture_unit
|
|
{
|
|
texture ball.png
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Any number of lights, diffuse and specular
|
|
material Examples/BumpMapping/MultiLightSpecularTemplate
|
|
{
|
|
|
|
// This is the preferred technique which uses both vertex and
|
|
// fragment programs, supports coloured lights
|
|
technique
|
|
{
|
|
// Base ambient pass
|
|
pass
|
|
{
|
|
// base colours, not needed for rendering, but as information
|
|
// to lighting pass categorisation routine
|
|
ambient 1 1 1
|
|
diffuse 0 0 0
|
|
specular 0 0 0 0
|
|
// Really basic vertex program
|
|
// NB we don't use fixed function here because GL does not like
|
|
// mixing fixed function and vertex programs, depth fighting can
|
|
// be an issue
|
|
vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture
|
|
{
|
|
param_named_auto worldViewProj worldviewproj_matrix
|
|
param_named_auto ambient ambient_light_colour
|
|
}
|
|
|
|
}
|
|
// Now do the lighting pass
|
|
// NB we don't do decal texture here because this is repeated per light
|
|
pass
|
|
{
|
|
// base colours, not needed for rendering, but as information
|
|
// to lighting pass categorisation routine
|
|
ambient 0 0 0
|
|
// do this for each light
|
|
iteration once_per_light
|
|
|
|
|
|
scene_blend add
|
|
|
|
// Vertex program reference
|
|
vertex_program_ref Examples/BumpMapVPSpecular
|
|
{
|
|
param_named_auto lightPosition light_position_object_space 0
|
|
param_named_auto eyePosition camera_position_object_space
|
|
param_named_auto worldViewProj worldviewproj_matrix
|
|
}
|
|
|
|
// Fragment program
|
|
fragment_program_ref Examples/BumpMapFPSpecular
|
|
{
|
|
param_named_auto lightDiffuse light_diffuse_colour 0
|
|
param_named_auto lightSpecular light_specular_colour 0
|
|
}
|
|
|
|
// Base bump map
|
|
texture_unit normalMap
|
|
{
|
|
colour_op replace
|
|
}
|
|
// Normalisation cube map
|
|
texture_unit
|
|
{
|
|
cubic_texture nm.png combinedUVW
|
|
tex_coord_set 1
|
|
tex_address_mode clamp
|
|
}
|
|
// Normalisation cube map #2
|
|
texture_unit
|
|
{
|
|
cubic_texture nm.png combinedUVW
|
|
tex_coord_set 2
|
|
tex_address_mode clamp
|
|
}
|
|
}
|
|
|
|
// Decal pass
|
|
pass
|
|
{
|
|
lighting off
|
|
// Really basic vertex program
|
|
// NB we don't use fixed function here because GL does not like
|
|
// mixing fixed function and vertex programs, depth fighting can
|
|
// be an issue
|
|
vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture
|
|
{
|
|
param_named_auto worldViewProj worldviewproj_matrix
|
|
param_named ambient float4 1 1 1 1
|
|
}
|
|
scene_blend dest_colour zero
|
|
texture_unit diffuseMap
|
|
{
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
// This is the fallback which cards which don't have fragment program
|
|
// support will use, NB does not support specular colour
|
|
// Note that it still requires vertex program support
|
|
technique
|
|
{
|
|
// Base ambient pass
|
|
pass
|
|
{
|
|
// base colours, not needed for rendering, but as information
|
|
// to lighting pass categorisation routine
|
|
ambient 1 1 1
|
|
diffuse 0 0 0
|
|
specular 0 0 0 0
|
|
// Really basic vertex program
|
|
// NB we don't use fixed function here because GL does not like
|
|
// mixing fixed function and vertex programs, depth fighting can
|
|
// be an issue
|
|
vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture
|
|
{
|
|
param_named_auto worldViewProj worldviewproj_matrix
|
|
param_named_auto ambient ambient_light_colour
|
|
}
|
|
|
|
}
|
|
// Now do the lighting pass
|
|
// NB we don't do decal texture here because this is repeated per light
|
|
pass
|
|
{
|
|
// base colours, not needed for rendering, but as information
|
|
// to lighting pass categorisation routine
|
|
ambient 0 0 0
|
|
// do this for each light
|
|
iteration once_per_light
|
|
|
|
|
|
scene_blend add
|
|
|
|
// Vertex program reference
|
|
vertex_program_ref Examples/BumpMapVP
|
|
{
|
|
param_named_auto lightPosition light_position_object_space 0
|
|
param_named_auto worldViewProj worldviewproj_matrix
|
|
}
|
|
|
|
// Base bump map
|
|
texture_unit normalMap
|
|
{
|
|
colour_op replace
|
|
}
|
|
// Normalisation cube map, with dot product on bump map
|
|
texture_unit
|
|
{
|
|
cubic_texture nm.png combinedUVW
|
|
tex_coord_set 1
|
|
tex_address_mode clamp
|
|
colour_op_ex dotproduct src_texture src_current
|
|
colour_op_multipass_fallback dest_colour zero
|
|
}
|
|
}
|
|
|
|
// Decal pass
|
|
pass
|
|
{
|
|
lighting off
|
|
// Really basic vertex program
|
|
// NB we don't use fixed function here because GL does not like
|
|
// mixing fixed function and vertex programs, depth fighting can
|
|
// be an issue
|
|
vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture
|
|
{
|
|
param_named_auto worldViewProj worldviewproj_matrix
|
|
param_named ambient float4 1 1 1 1
|
|
}
|
|
scene_blend dest_colour zero
|
|
texture_unit diffuseMap
|
|
{
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
material BulletPlane : Examples/BumpMapping/MultiLightSpecularTemplate
|
|
{
|
|
//set_texture_alias normalMap tiled_floor_normalheightmap.png
|
|
//set_texture_alias diffuseMap tiled_floor_diffuse.png
|
|
|
|
set_texture_alias diffuseMap MaPZone[Sewer_Plate_04_diffuse].dds
|
|
set_texture_alias normalMap MaPZone[Sewer_Plate_04_normal].dds
|
|
}
|
|
|
|
material Bullet/box : Examples/BumpMapping/MultiLightSpecularTemplate
|
|
{
|
|
set_texture_alias diffuseMap MaPZone[Metal_Grate_diffuse].dds
|
|
set_texture_alias normalMap MaPZone[Metal_Grate_normal].dds
|
|
//set_texture_alias normalMap crate_normalheightmap.png
|
|
//set_texture_alias diffuseMap crate_diffuse.png
|
|
}
|