Files
ogre-prototype/resources/main/Shadow.material
2025-06-14 16:20:47 +03:00

85 lines
2.5 KiB
Plaintext

// This file is part of the OGRE project.
// It is subject to the license terms in the LICENSE file found in the top-level directory
// of this distribution and at https://www.ogre3d.org/licensing.
material Ogre/TextureShadowCaster
{
receive_shadows false
technique
{
pass
{
// Lighting has to be on, because we need shadow coloured objects
// Note that because we can't predict vertex programs, we'll have to
// bind light values to those, and so we bind White to ambient
// reflectance, and we'll set the ambient colour to the shadow colour
ambient 1 1 1
diffuse 0 0 0
specular 0 0 0 1
emissive 0 0 0
fog_override true none
// set depth bias in case this is used with PF_DEPTH
depth_bias -1 -1
}
}
}
material Ogre/StencilShadowModulationPass
{
technique
{
pass
{
lighting off
scene_blend modulate
depth_write off
depth_check off
cull_hardware none
vertex_program_ref Ogre/ShadowBlendVP {}
fragment_program_ref Ogre/ShadowBlendFP {}
texture_unit {}
}
}
}
material Ogre/StencilShadowVolumes
{
technique
{
pass
{
// program will be set dynamically to match light type
vertex_program_ref Ogre/ShadowExtrudeDirLightFinite
{
// however, the parameters here are shared between all programs
param_named_auto worldviewproj_matrix worldviewproj_matrix
param_named_auto light_position_object_space light_position_object_space 0
param_named_auto shadow_extrusion_distance shadow_extrusion_distance 0
}
fragment_program_ref Ogre/ShadowBlendFP {}
}
}
}
material Ogre/Debug/ShadowVolumes
{
technique
{
pass
{
depth_write off
scene_blend add
cull_hardware none
// program will be set dynamically to match light type
vertex_program_ref Ogre/ShadowExtrudeDirLight
{
// however, the parameters here are shared between all programs
param_named_auto worldviewproj_matrix worldviewproj_matrix
param_named_auto light_position_object_space light_position_object_space 0
}
fragment_program_ref Ogre/ShadowBlendFP {}
}
}
}