转自:http://blog.csdn.net/pizi0475/article/details/5389449
材质用的是这个文件中的
ogrenew/Samples/Media/materials/scripts/OffsetMapping.material
多个technique,硬件不支持牛B的效果还有最后的technique来垫底
material Examples
/OffsetMapping/
Specular
{
// This is the preferred technique which uses both vertex and
// fragment programs, supports coloured lights
technique
{
// do the lighting and bump mapping with parallax pass
pass
{
// Vertex program reference
vertex_program_ref Examples / OffsetMappingVP
{
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 / OffsetMappingFP
{
param_named_auto lightDiffuse light_diffuse_colour 0
param_named_auto lightSpecular light_specular_colour 0
// Parallax Height scale and bias
param_named scaleBias float4 0.04 - 0.02 1 0
}
// Normal + height(alpha) map
texture_unit
{
texture rockwall_NH.tga
tex_coord_set 0
}
// Base diffuse texture map
texture_unit
{
texture rockwall.tga
tex_coord_set 1
}
}
}
// This is the preferred technique which uses both vertex and
// fragment programs, supports coloured lights
technique
{
// do the lighting and bump mapping with parallax pass
pass
{
// Vertex program reference
vertex_program_ref Examples / OffsetMappingVP
{
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 / OffsetMappingPS
{
param_indexed_auto 0 light_diffuse_colour 0
param_indexed_auto 1 light_specular_colour 0
// Parallax Height scale and bias
param_indexed 2 float4 0.04 - 0.02 1 0
}
// Normal + height(alpha) map
texture_unit
{
texture rockwall_NH.tga
tex_coord_set 0
}
// Base diffuse texture map
texture_unit
{
texture rockwall.tga
tex_coord_set 1
}
}
}
// Simple no-shader fallback
technique
{
pass
{
// Base diffuse texture map
texture_unit
{
texture rockwall.tga
}
}
}
}
{
// This is the preferred technique which uses both vertex and
// fragment programs, supports coloured lights
technique
{
// do the lighting and bump mapping with parallax pass
pass
{
// Vertex program reference
vertex_program_ref Examples / OffsetMappingVP
{
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 / OffsetMappingFP
{
param_named_auto lightDiffuse light_diffuse_colour 0
param_named_auto lightSpecular light_specular_colour 0
// Parallax Height scale and bias
param_named scaleBias float4 0.04 - 0.02 1 0
}
// Normal + height(alpha) map
texture_unit
{
texture rockwall_NH.tga
tex_coord_set 0
}
// Base diffuse texture map
texture_unit
{
texture rockwall.tga
tex_coord_set 1
}
}
}
// This is the preferred technique which uses both vertex and
// fragment programs, supports coloured lights
technique
{
// do the lighting and bump mapping with parallax pass
pass
{
// Vertex program reference
vertex_program_ref Examples / OffsetMappingVP
{
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 / OffsetMappingPS
{
param_indexed_auto 0 light_diffuse_colour 0
param_indexed_auto 1 light_specular_colour 0
// Parallax Height scale and bias
param_indexed 2 float4 0.04 - 0.02 1 0
}
// Normal + height(alpha) map
texture_unit
{
texture rockwall_NH.tga
tex_coord_set 0
}
// Base diffuse texture map
texture_unit
{
texture rockwall.tga
tex_coord_set 1
}
}
}
// Simple no-shader fallback
technique
{
pass
{
// Base diffuse texture map
texture_unit
{
texture rockwall.tga
}
}
}
}
rockwall.tga (这儿不能贴tga,我转成jpg了)