etqw-sdk/base/renderprogs/coverage.rprog

238 lines
5.5 KiB
Plaintext

//
// Version for fading out using coverage
//
renderProgram filterCoverage {
hwSkinningVersion filterCoverageSkinningMatrix filterCoverageHardSkinningMatrix
program vertex reference trivial
program fragment arb { <%
OPTION ARB_precision_hint_fastest;
TEMP R0;
TEX R0, fragment.texcoord, $map, 2D;
MUL R0, R0, fragment.color;
SUB R0, R0, 1;
MAD result.color.rgb, R0, $coverage, 1;
MOV result.color.a, 1;
%> }
}
renderProgram filterCoverageSkinningMatrix {
program vertex reference trivialSkinningMatrix
program fragment reference filterCoverage
}
renderProgram filterCoverageHardSkinningMatrix {
program vertex reference trivialHardSkinningMatrix
program fragment reference filterCoverage
}
//
// Version for fading out using vertexColor
//
renderProgram filterVertexColor {
hwSkinningVersion filterVertexColorSkinningMatrix filterVertexColorHardSkinningMatrix
program vertex reference trivial
program fragment arb { <%
OPTION ARB_precision_hint_fastest;
TEMP R0;
TEX R0, fragment.texcoord, $map, 2D;
SUB R0, R0, 1;
MAD result.color.rgb, R0, fragment.color, 1;
MOV result.color.a, 1;
%> }
}
renderProgram filterVertexColorWithTextureMatrix {
program vertex reference trivialWithTextureMatrix
program fragment reference filterVertexColor
}
renderProgram filterVertexColorAlpha {
hwSkinningVersion filterVertexColorSkinningMatrix filterVertexColorHardSkinningMatrix
program vertex reference trivial
program fragment arb { <%
OPTION ARB_precision_hint_fastest;
TEMP R0;
TEX R0, fragment.texcoord, $map, 2D;
SUB R0, R0, 1;
MAD result.color.rgb, R0, fragment.color.a, 1;
MOV result.color.a, 1;
%> }
}
renderProgram filterAlpha {
hwSkinningVersion filterVertexColorSkinningMatrix filterVertexColorHardSkinningMatrix
program vertex reference trivial
program fragment arb { <%
OPTION ARB_precision_hint_fastest;
TEMP R0;
TEX R0, fragment.texcoord, $map, 2D;
TEMP R1;
MUL R1, fragment.color, R0;
SUB R0, R0, 1;
MAD result.color.rgb, R0, R1.a, 1;
MOV result.color.a, 1;
%> }
}
renderProgram filterVertexColorSkinningMatrix {
program vertex reference trivialSkinningMatrix
program fragment reference filterVertexColor
}
renderProgram filterVertexColorHardSkinningMatrix {
program vertex reference trivialHardSkinningMatrix
program fragment reference filterVertexColor
}
//
// Version for fading out using vertexColor and coverage, useful for outside where
//
renderProgram filterVertexColorCoverage {
hwSkinningVersion filterVertexColorCoverageSkinningMatrix filterVertexColorCoverageHardSkinningMatrix
instanceVersion filterVertexColorCoverage_instance
program vertex reference trivial
program fragment arb { <%
OPTION ARB_precision_hint_fastest;
TEMP R0;
TEX R0, fragment.texcoord, $map, 2D;
SUB R0, R0, 1;
MUL R0, R0, fragment.color;
MAD result.color.rgb, R0, $coverage, 1;
MOV result.color.a, 1;
%> }
}
renderProgram filterVertexColorCoverageFogged {
program vertex arb { <%
OPTION ARB_position_invariant;
TEMP R0;
DP4 result.texcoord.x, $texCoordAttrib, $diffuseMatrix_s;
DP4 result.texcoord.y, $texCoordAttrib, $diffuseMatrix_t;
MAD R0, $colorAttrib, $colorModulate, $colorAdd;
MUL result.color, $diffuseColor, R0;
TEMP _F1, _F2;
SUB _F2, $positionAttrib, $viewOrigin;
DP3 _F1.x, _F2, _F2;
RSQ _F1.y, _F1.x;
MUL _F1.x, _F1.y, _F1.x;
MAD result.color.secondary, _F1.x, $fogDepths.z, $fogDepths.w;
%> }
program fragment arb { <%
OPTION ARB_precision_hint_fastest;
TEMP R0, R1;
TEX R0, fragment.texcoord, $map, 2D;
SUB R1, 1, fragment.color.secondary.r;
MUL R1, fragment.color, R1;
SUB R0, R0, 1;
MUL R0, R0, R1;
MAD result.color.rgb, R0, $coverage, 1;
MOV result.color.a, 1;
%> }
}
renderProgram filterVertexColorCoverage_instance {
program vertex reference trivial_instance
program fragment reference filterVertexColorCoverage
}
renderProgram filterVertexColorCoverageSkinningMatrix {
program vertex reference trivialSkinningMatrix
program fragment reference filterVertexColorCoverage
}
renderProgram filterVertexColorCoverageHardSkinningMatrix {
program vertex reference trivialHardSkinningMatrix
program fragment reference filterVertexColorCoverage
}
renderProgram addVertexColorCoverage {
program vertex reference trivial
program fragment arb { <%
OPTION ARB_precision_hint_fastest;
TEMP R0;
TEX R0, fragment.texcoord, $map, 2D;
MUL R0, R0, fragment.color;
MUL result.color.rgb, R0, $coverage;
MOV result.color.a, 1;
%> }
}
renderProgram addVertexColorCoverageFogged {
program vertex arb { <%
OPTION ARB_position_invariant;
TEMP R0;
DP4 result.texcoord.x, $texCoordAttrib, $diffuseMatrix_s;
DP4 result.texcoord.y, $texCoordAttrib, $diffuseMatrix_t;
MAD R0, $colorAttrib, $colorModulate, $colorAdd;
MUL result.color, $diffuseColor, R0;
TEMP _F1, _F2;
SUB _F2, $positionAttrib, $viewOrigin;
DP3 _F1.x, _F2, _F2;
RSQ _F1.y, _F1.x;
MUL _F1.x, _F1.y, _F1.x;
MUL R0, $fogDepths.z, 0.75;
MAD result.color.secondary, _F1.x, R0, $fogDepths.w;
%> }
program fragment arb { <%
OPTION ARB_precision_hint_fastest;
TEMP R0, R1;
TEX R0, fragment.texcoord, $map, 2D;
MUL R0, R0, fragment.color;
SUB R1, 1, fragment.color.secondary.r;
MUL R0, R0, R1;
MUL result.color.rgb, R0, $coverage;
MOV result.color.a, 1;
%> }
}