Difference between revisions of "TEST-STRCMP4CODES"
Line 1: | Line 1: | ||
− | + | define LotSkirtPSWater() | |
− | + | shader -layer ($poolWaterLayer+1) | |
− | + | validateRenderShaderContext -vertexFormat position 0 required | |
− | + | pass -clipAlways -modifiedEachFrameHint | |
− | + | #fillmode wireframe | |
− | + | alphaBlend srcFactor(srcAlpha) add dstFactor(invSrcAlpha) | |
− | + | seti textureLights (numLightsOfType(environmentCube)) | |
− | + | depthTest true -enableDepthWrite false | |
− | + | ||
− | + | shaderProgram -target vertexProgram -method compile -version 1_1 | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | shaderProgram -target | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | bindConstants 0 -bindingID geomToClip -constantCount 4 | |
− | + | bindConstants 4 -bindingID geomToCamera -constantCount 3 | |
− | + | ||
− | + | bindConstants 7 -bindingID frameInfo | |
− | + | ||
− | + | bindConstants 11 -bindingID immediateData -data ($wmXRepeat, 0, $wmXWaveHeight, $wmXSpeed) | |
− | + | bindConstants 12 -bindingID immediateData -data (0, $wmYRepeat, $wmYWaveHeight, $wmYSpeed) | |
− | + | ||
− | + | # pre-evaluate these | |
− | + | setf xscale (-$wmXRepeat * $wmXWaveHeight) | |
− | + | setf yscale (-$wmYRepeat * $wmYWaveHeight) | |
− | + | bindConstants 13 -bindingID immediateData -data ($xscale,$yscale, 1,0) | |
− | + | bindConstants 14 -bindingID allStandardLightData -constantCount 4 -constantType float | |
− | + | bindConstants 18 -bindingID cameraToGlobal -constantCount 3 | |
− | + | bindConstants 21 -bindingID cameraToGeom -constantCount 3 | |
− | + | ||
− | + | if (tsIsDay) | |
− | + | bindConstants 25 -bindingID immediateData -data (0.75, 0.75, 0.75, 1) | |
− | + | bindConstants 28 -bindingID immediateData -data (-0.3, 0.1, 0.1, 0.0) | |
+ | else | ||
+ | bindConstants 25 -bindingID immediateData -data (0.2, 0.2, 0.2, 1) | ||
+ | bindConstants 28 -bindingID immediateData -data (-0.3, -0.2, -0.1, 0.0) | ||
+ | endif | ||
+ | |||
+ | shaderSource | ||
+ | |||
+ | float4 frameInfo : register(c7); | ||
+ | float4 waveDataX : register(c11); | ||
+ | float4 waveDataY : register(c12); | ||
+ | float4 waveDataHelper : register(c13); | ||
+ | float4x4 clipSpaceMatrix : register(c0); | ||
+ | float4x3 cameraSpaceMatrix : register(c4); | ||
+ | float4x3 cameraToGlobalMatrix : register(c18); | ||
+ | float4x3 cameraToGeomMatrix : register(c21); | ||
− | + | float4 nightColor: register(c25); | |
− | + | float4 waterTint: register(c28); | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | float4 lightDirection : register(c14); | |
− | + | float4 lightColor : register(c15); | |
− | + | float4 lightSpecular : register(c16); | |
+ | |||
+ | const static float4 refractionWeights={1,1,2,0}; | ||
+ | const static float4 layerBlue={1.0, 1.0, 1.0, 1.0}; |
Revision as of 10:20, 7 September 2007
define LotSkirtPSWater()
shader -layer ($poolWaterLayer+1) validateRenderShaderContext -vertexFormat position 0 required
pass -clipAlways -modifiedEachFrameHint #fillmode wireframe alphaBlend srcFactor(srcAlpha) add dstFactor(invSrcAlpha) seti textureLights (numLightsOfType(environmentCube)) depthTest true -enableDepthWrite false
shaderProgram -target vertexProgram -method compile -version 1_1
bindConstants 0 -bindingID geomToClip -constantCount 4 bindConstants 4 -bindingID geomToCamera -constantCount 3
bindConstants 7 -bindingID frameInfo
bindConstants 11 -bindingID immediateData -data ($wmXRepeat, 0, $wmXWaveHeight, $wmXSpeed) bindConstants 12 -bindingID immediateData -data (0, $wmYRepeat, $wmYWaveHeight, $wmYSpeed)
# pre-evaluate these setf xscale (-$wmXRepeat * $wmXWaveHeight) setf yscale (-$wmYRepeat * $wmYWaveHeight) bindConstants 13 -bindingID immediateData -data ($xscale,$yscale, 1,0) bindConstants 14 -bindingID allStandardLightData -constantCount 4 -constantType float bindConstants 18 -bindingID cameraToGlobal -constantCount 3 bindConstants 21 -bindingID cameraToGeom -constantCount 3
if (tsIsDay) bindConstants 25 -bindingID immediateData -data (0.75, 0.75, 0.75, 1) bindConstants 28 -bindingID immediateData -data (-0.3, 0.1, 0.1, 0.0) else bindConstants 25 -bindingID immediateData -data (0.2, 0.2, 0.2, 1) bindConstants 28 -bindingID immediateData -data (-0.3, -0.2, -0.1, 0.0) endif
shaderSource
float4 frameInfo : register(c7); float4 waveDataX : register(c11); float4 waveDataY : register(c12); float4 waveDataHelper : register(c13); float4x4 clipSpaceMatrix : register(c0); float4x3 cameraSpaceMatrix : register(c4); float4x3 cameraToGlobalMatrix : register(c18); float4x3 cameraToGeomMatrix : register(c21);
float4 nightColor: register(c25); float4 waterTint: register(c28);
float4 lightDirection : register(c14); float4 lightColor : register(c15); float4 lightSpecular : register(c16);
const static float4 refractionWeights={1,1,2,0}; const static float4 layerBlue={1.0, 1.0, 1.0, 1.0};