Difference between revisions of "ShaderVertexAlpha"
From SimsWiki
(EP0-TS2) |
(EP1-UNI) |
||
Line 1: | Line 1: | ||
<pre> | <pre> | ||
− | + | EP1-UNI | |
0xCD7FE87A | 0xCD7FE87A | ||
0x1C0532FA | 0x1C0532FA |
Revision as of 13:00, 19 March 2007
EP1-UNI 0xCD7FE87A 0x1C0532FA 0x4E1F3534 0xFFCB2BC3 # vertexalpha #beginshader VertexAlpha #description Untextured, solid color shader with opacity controlled through per vertex alpha #description and color controlled through per vertex color #extraparam int stdMatLayer 0 -32 32 ; layer for render order define VertexAlpha() material shader -layer ($stdMatLayer * 8 + 7) validateRenderShaderContext -vertexFormat position 0 required validateRenderShaderContext -vertexFormat color 0 required create DetermineHardwareSupport() create SetupCommonHWShaderVariablesAndPredicates() # since the DX8 path won't run here, I want the software VS on DX7/dx8 cards to assume ubyte4. setb ubyte4Supported true pass alphaBlend srcFactor(srcAlpha) add dstFactor(invSrcAlpha) depthTest true -enableDepthWrite false shaderProgram -target vertexProgram -method link create BindsForHardwareVS2Transforms($doSkinning $doMorphing) create TransformFragments($doSkinning false false $doMorphing $numPosMorphs $numNormMorphs false 2_0) shaderFragment VertexAlphaSupport2_0 end colorScalar (1,1,1) 1 -applyShapeColor 0 stage textureBlend select(diffuse colorScalar) select(diffuse colorScalar) end end end # backup shader for materials without color in their vertices (bad case, but better than flashing red) shader -layer ($stdMatLayer * 8 + 7) validateRenderShaderContext -vertexFormat position 0 required pass -fixedFunction create LightingStatesNoStdLights() colorScalar (1,1,1) 1 stage textureBlend select(colorScalar) select(colorScalar) end end end end enddef #endshader VertexAlpha