etqw-sdk/base/renderprogs/interaction/self_illum.rprog

852 lines
19 KiB
Plaintext
Raw Normal View History

2008-05-29 00:00:00 +00:00
//
// Interaction shader with self ilumination in the ambient pass
//
renderProgram ambient/selfillum {
hwSkinningVersion ambient/selfillum_skinning_matrix ambient/selfillum_hardskinning_matrix
instanceVersion ambient/selfillum_instance
coverageVersion ambient/selfillum_coverage
state force {
depthFunc less // so it behaves like a proper depth fill pass
}
machineSpec 1
fallBack ambient/selfillum_fallback
program vertex reference ambient/basic
program fragment arb { <%
$define self_illum
$include "interaction/basic_ambient_fragment.inc"
%> }
}
renderProgram ambient/selfillum_fallback {
state force {
depthFunc less // so it behaves like a proper depth fill pass
}
program vertex reference ambient/basic
program fragment arb { <%
$define self_illum
$include "interaction/basic_ambient_fragment_fallback.inc"
%> }
}
renderProgram ambient/selfillum_coverage {
state force {
depthFunc less // so it behaves like a proper depth fill pass
}
machineSpec 1
fallBack ambient/selfillum_coverage_fallback
program vertex reference ambient/basic
program fragment arb { <%
$define self_illum
$define r_useDitherMask
$include "interaction/basic_ambient_fragment.inc"
%> }
}
renderProgram ambient/selfillum_coverage_fallback {
state force {
depthFunc less // so it behaves like a proper depth fill pass
}
program vertex reference ambient/basic
program fragment arb { <%
$define self_illum
$define r_useDitherMask
$include "interaction/basic_ambient_fragment_fallback.inc"
%> }
}
renderProgram ambient/selfillum_instance {
state force {
depthFunc less // so it behaves like a proper depth fill pass
}
machineSpec 1
fallBack ambient/selfillum_instance_fallback
program vertex reference ambient/basic_instance
program fragment reference ambient/selfillum
}
renderProgram ambient/selfillum_instance_fallback {
state force {
depthFunc less // so it behaves like a proper depth fill pass
}
program vertex reference ambient/basic_instance_fallback
program fragment reference ambient/selfillum_fallback
}
renderProgram ambient/selfillum_skinning_matrix {
state force {
depthFunc less // so it behaves like a proper depth fill pass
}
machineSpec 1
fallBack ambient/selfillum_skinning_matrix_fallback
program vertex reference ambient/basic_skinning_matrix
program fragment reference ambient/selfillum
}
renderProgram ambient/selfillum_skinning_matrix_fallback {
state force {
depthFunc less // so it behaves like a proper depth fill pass
}
program vertex reference ambient/basic_skinning_matrix_fallback
program fragment reference ambient/selfillum_fallback
}
renderProgram ambient/selfillum_hardskinning_matrix {
state force {
depthFunc less // so it behaves like a proper depth fill pass
}
machineSpec 1
fallBack ambient/selfillum_hardskinning_matrix_fallback
program vertex reference ambient/basic_hardskinning_matrix
program fragment reference ambient/selfillum
}
renderProgram ambient/selfillum_hardskinning_matrix_fallback {
state force {
depthFunc less // so it behaves like a proper depth fill pass
}
program vertex reference ambient/basic_hardskinning_matrix_fallback
program fragment reference ambient/selfillum_fallback
}
//
// This basically just changes the ambient shader do do some extra work.
// so all the per light interaction passes are just referencing the normal
// ones.
//
renderProgram interaction/selfillum {
interaction
state {
depthFunc lequal
maskDepth
blend GL_ONE, GL_ONE
}
amblitVersion interaction/selfillum_amblit
ambientVersion ambient/selfillum
hwSkinningVersion interaction/selfillum_skinning_matrix interaction/selfillum_hardskinning_matrix
instanceVersion interaction/selfillum_instance
coverageVersion interaction/selfillum_coverage
machineSpec 1
fallBack interaction/selfillum_fallback
program vertex reference interaction/basic
program fragment reference interaction/basic
}
renderProgram interaction/selfillum_fallback {
interaction
state {
depthFunc lequal
maskDepth
blend GL_ONE, GL_ONE
}
amblitVersion interaction/selfillum_fallback_amblit
program vertex reference interaction/basic_fallback
program fragment reference interaction/basic_fallback
}
renderProgram interaction/selfillum_coverage {
interaction
amblitVersion interaction/selfillum_coverage_amblit
state {
depthFunc lequal
maskDepth
blend GL_ONE, GL_ONE
}
machineSpec 1
fallBack interaction/selfillum_coverage_fallback
program vertex reference interaction/basic
program fragment reference interaction/basic_coverage
}
renderProgram interaction/selfillum_coverage_fallback {
interaction
amblitVersion interaction/selfillum_coverage_fallback_amblit
state {
depthFunc lequal
maskDepth
blend GL_ONE, GL_ONE
}
program vertex reference interaction/basic_fallback
program fragment reference interaction/basic_coverage_fallback
}
renderProgram interaction/selfillum_coverage_amblit {
interaction
state force {
depthFunc less
}
machineSpec 1
fallBack interaction/selfillum_coverage_fallback_amblit
program vertex reference interaction/basic
program fragment reference interaction/basic_coverage_amblit
}
renderProgram interaction/selfillum_coverage_fallback_amblit {
interaction
state force {
depthFunc less
}
program vertex reference interaction/basic_fallback
program fragment reference interaction/basic_coverage_fallback_amblit
}
renderProgram interaction/selfillum_skinning_matrix {
interaction
amblitVersion interaction/selfillum_skinning_matrix_amblit
state {
depthFunc equal
maskDepth
blend GL_ONE, GL_ONE
}
machineSpec 1
fallBack interaction/selfillum_skinning_matrix_fallback
program vertex reference interaction/basic_skinning_matrix
program fragment reference interaction/basic
}
renderProgram interaction/selfillum_skinning_matrix_amblit {
interaction
state force {
depthFunc less
}
program vertex reference interaction/basic_skinning_matrix
program fragment reference interaction/selfillum_amblit
}
renderProgram interaction/selfillum_skinning_matrix_fallback {
interaction
amblitVersion interaction/selfillum_skinning_matrix_fallback_amblit
state {
depthFunc equal
maskDepth
blend GL_ONE, GL_ONE
}
program vertex reference interaction/basic_skinning_matrix_fallback
program fragment reference interaction/basic_fallback
}
renderProgram interaction/selfillum_skinning_matrix_fallback_amblit {
interaction
state force {
depthFunc less
}
program vertex reference interaction/basic_skinning_matrix_fallback
program fragment reference interaction/selfillum_fallback_amblit
}
renderProgram interaction/selfillum_hardskinning_matrix {
interaction
amblitVersion interaction/selfillum_hardskinning_matrix_amblit
state {
depthFunc equal
maskDepth
blend GL_ONE, GL_ONE
}
machineSpec 1
fallBack interaction/selfillum_hardskinning_matrix_fallback
program vertex reference interaction/basic_hardskinning_matrix
program fragment reference interaction/basic
}
renderProgram interaction/selfillum_hardskinning_matrix_amblit {
interaction
state force {
depthFunc less
}
program vertex reference interaction/basic_hardskinning_matrix
program fragment reference interaction/selfillum_amblit
}
renderProgram interaction/selfillum_hardskinning_matrix_fallback {
interaction
amblitVersion interaction/selfillum_hardskinning_matrix_amblit_fallback
state {
depthFunc equal
maskDepth
blend GL_ONE, GL_ONE
}
program vertex reference interaction/basic_hardskinning_matrix_fallback
program fragment reference interaction/basic_fallback
}
renderProgram interaction/selfillum_hardskinning_matrix_amblit_fallback {
interaction
state force {
depthFunc less
}
program vertex reference interaction/basic_hardskinning_matrix_fallback
program fragment reference interaction/selfillum_fallback_amblit
}
renderProgram interaction/selfillum_amblit {
interaction
state force {
depthFunc less
}
program vertex reference interaction/basic
program fragment arb { <%
$define amblit
$define self_illum
$define ambient
$include "interaction/basic_fragment.inc"
%> }
}
renderProgram interaction/selfillum_instance {
interaction
state {
depthFunc lequal
maskDepth
blend GL_ONE, GL_ONE
}
amblitVersion interaction/selfillum_instance_amblit
program vertex reference interaction/basic_instance
program fragment reference interaction/basic_instance
}
renderProgram interaction/selfillum_instance_amblit {
interaction
state force {
depthFunc less
}
program vertex reference interaction/basic_instance
program fragment reference interaction/selfillum_amblit
}
// Self illumnation versions with colour modulation
renderProgram ambient/selfillum_modulate {
hwSkinningVersion ambient/selfillum_modulate_skinning_matrix ambient/selfillum_modulate_hardskinning_matrix
state force {
depthFunc less // so it behaves like a proper depth fill pass
}
program vertex reference ambient/basic
program fragment arb { <%
$define self_illum
$define self_illum_modulate
$include "interaction/basic_ambient_fragment.inc"
%> }
}
renderProgram ambient/selfillum_modulate_skinning_matrix {
state force {
depthFunc less // so it behaves like a proper depth fill pass
}
program vertex reference ambient/basic_skinning_matrix
program fragment reference ambient/selfillum_modulate
}
renderProgram ambient/selfillum_modulate_hardskinning_matrix {
state force {
depthFunc less // so it behaves like a proper depth fill pass
}
program vertex reference ambient/basic_hardskinning_matrix
program fragment reference ambient/selfillum_modulate
}
renderProgram interaction/selfillum_modulate {
interaction
state {
depthFunc lequal
maskDepth
blend GL_ONE, GL_ONE
}
amblitVersion interaction/selfillum_modulate_amblit
ambientVersion ambient/selfillum_modulate
hwSkinningVersion interaction/selfillum_modulate_skinning_matrix interaction/selfillum_modulate_hardskinning_matrix
program vertex reference interaction/basic
program fragment reference interaction/basic
}
renderProgram interaction/selfillum_modulate_skinning_matrix {
interaction
amblitVersion interaction/selfillum_modulate_skinning_matrix_amblit
state {
depthFunc equal
maskDepth
blend GL_ONE, GL_ONE
}
program vertex reference interaction/basic_skinning_matrix
program fragment reference interaction/basic
}
renderProgram interaction/selfillum_modulate_skinning_matrix_amblit {
interaction
state force {
depthFunc less
}
program vertex reference interaction/basic_skinning_matrix
program fragment reference interaction/selfillum_modulate_amblit
}
renderProgram interaction/selfillum_modulate_hardskinning_matrix {
interaction
amblitVersion interaction/selfillum_modulate_hardskinning_matrix_amblit
state {
depthFunc equal
maskDepth
blend GL_ONE, GL_ONE
}
program vertex reference interaction/basic_hardskinning_matrix
program fragment reference interaction/basic
}
renderProgram interaction/selfillum_modulate_hardskinning_matrix_amblit {
interaction
state force {
depthFunc less
}
program vertex reference interaction/basic_hardskinning_matrix
program fragment reference interaction/selfillum_modulate_amblit
}
renderProgram interaction/selfillum_modulate_amblit {
interaction
state force {
depthFunc less
}
program vertex reference interaction/basic
program fragment arb { <%
$define amblit
$define self_illum
$define self_illum_modulate
$define ambient
$include "interaction/basic_fragment.inc"
%> }
}
/*********************************************************/
renderProgram ambient/selfillum_detail {
hwSkinningVersion ambient/selfillum_skinning_matrix_detail ambient/selfillum_hardskinning_matrix_detail
lodVersion ambient/selfillum
state force {
depthFunc less // so it behaves like a proper depth fill pass
}
program vertex reference ambient/basic_detail
program fragment arb { <%
$define self_illum
$define enable_detail
$define enable_detailweight_const
$define enable_bumpdetail
$define enable_detaildetail
$define enable_specdetail
$include "interaction/basic_ambient_fragment.inc"
%> }
}
renderProgram ambient/selfillum_skinning_matrix_detail {
state force {
depthFunc less // so it behaves like a proper depth fill pass
}
program vertex reference ambient/basic_skinning_matrix_detail
program fragment reference ambient/selfillum_detail
}
renderProgram ambient/selfillum_hardskinning_matrix_detail {
state force {
depthFunc less // so it behaves like a proper depth fill pass
}
program vertex reference ambient/basic_hardskinning_matrix_detail
program fragment reference ambient/selfillum_detail
}
renderProgram interaction/selfillum_detail {
interaction
machineSpec 3
fallBack interaction/selfillum
state {
depthFunc lequal
maskDepth
blend GL_ONE, GL_ONE
}
amblitVersion interaction/selfillum_detail_amblit
ambientVersion ambient/selfillum_detail
hwSkinningVersion interaction/selfillum_skinning_matrix_detail interaction/selfillum_hardskinning_matrix_detail
program vertex reference interaction/basic
program fragment reference interaction/basic_detail
}
renderProgram interaction/selfillum_skinning_matrix_detail {
interaction
amblitVersion interaction/selfillum_skinning_matrix_detail_amblit
lodVersion interaction/basic_skinning_matrix
state {
depthFunc equal
maskDepth
blend GL_ONE, GL_ONE
}
program vertex reference interaction/basic_skinning_matrix_detail
program fragment reference interaction/basic_detail
}
renderProgram interaction/selfillum_skinning_matrix_detail_amblit {
interaction
state force {
depthFunc less
}
program vertex reference interaction/basic_skinning_matrix_detail
program fragment reference interaction/selfillum_detail_amblit
}
renderProgram interaction/selfillum_hardskinning_matrix_detail {
interaction
amblitVersion interaction/selfillum_hardskinning_matrix_detail_amblit
lodVersion interaction/selfillum_hardskinning_matrix
state {
depthFunc equal
maskDepth
blend GL_ONE, GL_ONE
}
program vertex reference interaction/basic_hardskinning_matrix_detail
program fragment reference interaction/basic_detail
}
renderProgram interaction/selfillum_hardskinning_matrix_detail_amblit {
interaction
state force {
depthFunc less
}
program vertex reference interaction/basic_hardskinning_matrix_detail
program fragment reference interaction/selfillum_detail_amblit
}
renderProgram interaction/selfillum_detail_amblit {
interaction
state force {
depthFunc less
}
program vertex reference interaction/basic
program fragment arb { <%
$define amblit
$define ambient
$define self_illum
$define enable_detail
$define enable_detailweight_const
$define enable_bumpdetail
$define enable_detaildetail
$define enable_specdetail
$include "interaction/basic_fragment.inc"
%> }
}
/*********************************************************/
renderProgram ambient/selfillum_detailwm {
hwSkinningVersion ambient/selfillum_skinning_matrix_detailwm ambient/selfillum_hardskinning_matrix_detailwm
lodVersion ambient/selfillum
state force {
depthFunc less // so it behaves like a proper depth fill pass
}
program vertex reference ambient/basic_detail
program fragment arb { <%
$define self_illum
$define enable_detail
$define enable_detailweight_tex
$define enable_bumpdetail
$define enable_detaildetail
$define enable_specdetail
$include "interaction/basic_ambient_fragment.inc"
%> }
}
renderProgram ambient/selfillum_skinning_matrix_detailwm {
state force {
depthFunc less // so it behaves like a proper depth fill pass
}
program vertex reference ambient/basic_skinning_matrix_detail
program fragment reference ambient/selfillum_detailwm
}
renderProgram ambient/selfillum_hardskinning_matrix_detailwm {
state force {
depthFunc less // so it behaves like a proper depth fill pass
}
program vertex reference ambient/basic_hardskinning_matrix_detail
program fragment reference ambient/selfillum_detailwm
}
renderProgram interaction/selfillum_detailwm {
interaction
state {
depthFunc lequal
maskDepth
blend GL_ONE, GL_ONE
}
machineSpec 3
fallBack interaction/selfillum
amblitVersion interaction/selfillum_detailwm_amblit
ambientVersion ambient/selfillum_detailwm
hwSkinningVersion interaction/selfillum_skinning_matrix_detailwm interaction/selfillum_hardskinning_matrix_detailwm
program vertex reference interaction/basic_detail
program fragment reference interaction/basic_detailwm
}
renderProgram interaction/selfillum_skinning_matrix_detailwm {
interaction
amblitVersion interaction/selfillum_skinning_matrix_detailwm_amblit
lodVersion interaction/basic_skinning_matrix
state {
depthFunc equal
maskDepth
blend GL_ONE, GL_ONE
}
program vertex reference interaction/basic_skinning_matrix_detailwm
program fragment reference interaction/basic_detailwm
}
renderProgram interaction/selfillum_skinning_matrix_detailwm_amblit {
interaction
state force {
depthFunc less
}
program vertex reference interaction/basic_skinning_matrix_detailwm
program fragment reference interaction/selfillum_detailwm_amblit
}
renderProgram interaction/selfillum_hardskinning_matrix_detailwm {
interaction
amblitVersion interaction/selfillum_hardskinning_matrix_detailwm_amblit
lodVersion interaction/selfillum_hardskinning_matrix
state {
depthFunc equal
maskDepth
blend GL_ONE, GL_ONE
}
program vertex reference interaction/basic_hardskinning_matrix_detailwm
program fragment reference interaction/basic_detailwm
}
renderProgram interaction/selfillum_hardskinning_matrix_detailwm_amblit {
interaction
state force {
depthFunc less
}
program vertex reference interaction/basic_hardskinning_matrix_detailwm
program fragment reference interaction/selfillum_detailwm_amblit
}
renderProgram interaction/selfillum_detailwm_amblit {
interaction
state force {
depthFunc less
}
program vertex reference interaction/basic_detail
program fragment arb { <%
$define amblit
$define self_illum
$define ambient
$define enable_detail
$define enable_detailweight_tex
$define enable_bumpdetail
$define enable_detaildetail
$define enable_specdetail
$include "interaction/basic_fragment.inc"
%> }
}
renderProgram interaction/selfillum_fallback_amblit {
interaction
state force {
depthFunc less
}
program vertex reference interaction/basic_fallback
program fragment arb { <%
$define amblit
$define addambient
$define self_illum
$include "interaction/basic_fragment_fallback.inc"
%> }
}