243 lines
6.2 KiB
Plaintext
243 lines
6.2 KiB
Plaintext
// Bump map with Parallax offset vertex program, support for this is required
|
|
vertex_program Examples/OffsetMappingVP cg
|
|
{
|
|
source OffsetMapping.cg
|
|
entry_point main_vp
|
|
profiles vs_1_1 arbvp1
|
|
}
|
|
|
|
// Bump map with parallax fragment program
|
|
fragment_program Examples/OffsetMappingFP cg
|
|
{
|
|
source OffsetMapping.cg
|
|
entry_point main_fp
|
|
profiles ps_2_0 arbfp1
|
|
}
|
|
|
|
// Bump map with parallax fragment program
|
|
fragment_program Examples/OffsetMappingPS asm
|
|
{
|
|
source OffsetMapping_specular.asm
|
|
// sorry, only for ps_1_4 and above:)
|
|
syntax ps_1_4
|
|
}
|
|
|
|
|
|
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
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Single-pass offset mapping with shadows
|
|
vertex_program Examples/OffsetMappingIntegratedShadowsVPhlsl hlsl
|
|
{
|
|
source OffsetMapping.hlsl
|
|
entry_point integratedshadows_vp
|
|
target vs_2_0
|
|
}
|
|
vertex_program Examples/OffsetMappingIntegratedShadowsVPglsl glsl
|
|
{
|
|
source OffsetMappingVp.glsl
|
|
}
|
|
|
|
// Single-pass offset mapping with shadows
|
|
fragment_program Examples/OffsetMappingIntegratedShadowsFPhlsl hlsl
|
|
{
|
|
source OffsetMapping.hlsl
|
|
entry_point integratedshadows_fp
|
|
target ps_2_0
|
|
}
|
|
fragment_program Examples/OffsetMappingIntegratedShadowsFPglsl glsl
|
|
{
|
|
source OffsetMappingFp.glsl
|
|
default_params
|
|
{
|
|
// assign samplers as required by GLSL
|
|
param_named normalHeightMap int 0
|
|
param_named diffuseMap int 1
|
|
param_named shadowMap1 int 2
|
|
param_named shadowMap2 int 3
|
|
}
|
|
}
|
|
// Single-pass offset mapping with shadows
|
|
vertex_program Examples/OffsetMappingIntegratedShadowsVP unified
|
|
{
|
|
delegate Examples/OffsetMappingIntegratedShadowsVPhlsl
|
|
delegate Examples/OffsetMappingIntegratedShadowsVPglsl
|
|
}
|
|
// Single-pass offset mapping with shadows
|
|
fragment_program Examples/OffsetMappingIntegratedShadowsFP unified
|
|
{
|
|
delegate Examples/OffsetMappingIntegratedShadowsFPhlsl
|
|
delegate Examples/OffsetMappingIntegratedShadowsFPglsl
|
|
}
|
|
|
|
|
|
|
|
material Examples/OffsetMapping/IntegratedShadows
|
|
{
|
|
|
|
technique
|
|
{
|
|
// do the lighting and bump mapping with parallax pass
|
|
pass
|
|
{
|
|
|
|
// Vertex program reference
|
|
vertex_program_ref Examples/OffsetMappingIntegratedShadowsVP
|
|
{
|
|
param_named_auto lightPosition light_position_object_space 0
|
|
param_named_auto eyePosition camera_position_object_space
|
|
param_named_auto worldViewProj worldviewproj_matrix
|
|
param_named_auto spotDirection light_direction_object_space 0
|
|
|
|
param_named_auto lightPosition1 light_position_object_space 1
|
|
param_named_auto spotDirection1 light_direction_object_space 1
|
|
// shadow texture projections
|
|
param_named_auto worldMatrix world_matrix
|
|
param_named_auto texViewProj1 texture_viewproj_matrix 0
|
|
param_named_auto texViewProj2 texture_viewproj_matrix 1
|
|
}
|
|
|
|
// Fragment program
|
|
fragment_program_ref Examples/OffsetMappingIntegratedShadowsFP
|
|
{
|
|
param_named_auto lightDiffuse light_diffuse_colour 0
|
|
param_named_auto spotParams spotlight_params 0
|
|
|
|
param_named_auto lightDiffuse1 light_diffuse_colour 1
|
|
param_named_auto spotParams1 spotlight_params 1
|
|
// 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
|
|
}
|
|
|
|
// shadowmap 1
|
|
texture_unit
|
|
{
|
|
content_type shadow
|
|
}
|
|
// shadowmap 2
|
|
texture_unit
|
|
{
|
|
content_type shadow
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|