Difference between revisions of "TEST-STRCMP4CODES"
From SimsWiki
| Line 1: | Line 1: | ||
| − | materialDefinition | + | |
| + | #beginshader RotatingSteamLayers | ||
| + | #description Two layers of rotating steam textures | ||
| + | #extraparam float steamLayer1RotationSpeed 0.02 -1 1 ; Rotational speed of layer 1 | ||
| + | #extraparam float steamLayer2RotationSpeed 0.02 -1 1 ; Rotational speed of layer 2 | ||
| + | #extraparam float steamLayer1RotationX 0.5 -1 2 ; Rotation center X texture coord for layer 1 | ||
| + | #extraparam float steamLayer1RotationY 0.5 -1 2 ; Rotation center Y texture coord for layer 1 | ||
| + | #extraparam float steamLayer2RotationX 0.5 -1 2 ; Rotation center X texture coord for layer 2 | ||
| + | #extraparam float steamLayer2RotationY 0.5 -1 2 ; Rotation center Y texture coord for layer 2 | ||
| + | #extraparam int stdMatLayer 0 -32 32 ; Layer for render order | ||
| + | setf steamLayer1RotationSpeed 0.02 | ||
| + | setf steamLayer2RotationSpeed 0.02 | ||
| + | setf steamLayer1RotationX 0.5 | ||
| + | setf steamLayer1RotationY 0.5 | ||
| + | setf steamLayer2RotationX 0.5 | ||
| + | setf steamLayer2RotationY 0.5 | ||
| + | define RotatingSteamLayers() | ||
| + | material | ||
| + | attributes | ||
| + | attribute steamFade float1 0 | ||
| + | end | ||
| + | |||
| + | shader -layer ($stdMatLayer * 18 + 17) | ||
| + | vertexFormatPred position 0 true | ||
| + | vertexFormatPred blendindices 0 false | ||
| + | vertexFormatPred targetindices 0 false | ||
| + | create SteamPass($stdMatBaseTextureName $steamLayer1RotationSpeed ($steamLayer1RotationX, $steamLayer1RotationY)) | ||
| + | create SteamPass($stdMatBaseTextureName $steamLayer2RotationSpeed ($steamLayer2RotationX, $steamLayer2RotationY)) | ||
| + | end | ||
| + | end | ||
| + | enddef | ||
| + | #endshader RotatingSteamLayers | ||
| + | |||
| + | |||
| + | define SteamPass(steamTexture speed origin) | ||
| + | pass -fixedFunction | ||
| + | create LightingStates() | ||
| + | depthTest true -enableDepthWrite false | ||
| + | alphaBlend srcFactor(srcColor) add dstFactor(invSrcColor) | ||
| + | ffMatCoef -emit (1,1,1) -diff (0,0,0) -diffAlpha @steamFade | ||
| + | fillmode $stdMatFillMode | ||
| + | |||
| + | stage | ||
| + | ffTextureCoordsSource 0 | ||
| + | texture &steamTexture | ||
| + | textureBlend select(texture) multiply(texture diffuse) | ||
| + | end | ||
| + | |||
| + | stage | ||
| + | ffTextureCoordsSource 0 | ||
| + | textureMatrixAnimation -targetType fixedFunction -arot sawtooth &speed 0 (0,1) -aorigin ((1, 1) - (&origin)) | ||
| + | texture &steamTexture | ||
| + | textureBlend multiply(outRegister:alphaReplicate texture) multiply(outRegister texture) | ||
| + | end | ||
| + | end | ||
| + | enddef | ||
| + | |||
| + | |||
| + | |||
| + | define CubeAlphaFalloffTexture() | ||
| + | material | ||
| + | attributes | ||
| + | attribute color float3 | ||
| + | attribute alpha float1 | ||
| + | attribute scale float1 | ||
| + | end | ||
| + | |||
| + | shader -layer ($stdMatLayer * 18 + 17) | ||
| + | vertexFormatPred position 0 true | ||
| + | vertexFormatPred normal 0 true | ||
| + | vertexFormatPred texcoord 0 true | ||
| + | vertexFormatPred blendindices 0 false | ||
| + | vertexFormatPred targetindices 0 false | ||
| + | |||
| + | create DetermineHardwareSupport() | ||
| + | |||
| + | if ($useFixedFunctionPath or $useSWVertexShaderPath) | ||
| + | pass -fixedFunction | ||
| + | create LightingStatesNoStdLightsParam(true false) | ||
| + | |||
| + | alphaBlend srcFactor(srcAlpha) add dstFactor(invSrcAlpha) | ||
| + | depthTest true -enableDepthWrite false | ||
| + | |||
| + | colorScalar @color @alpha | ||
| + | ffScaleModelTransform @scale | ||
| + | fillmode $stdMatFillMode | ||
| + | |||
| + | stage | ||
| + | texture $stdMatEnvCubeTextureName -alphaFalloffCubeMap 64 (0, 1, 0) (-30, 255) 5 | ||
| + | textureMIPFilterHint disabled | ||
| + | |||
| + | ffTextureCoordsSource fromNormal | ||
| + | textureTransformType vector3 | ||
| + | # ffTextureMatrix -orientToCamera | ||
| + | |||
| + | textureAddressing clamp clamp clamp | ||
| + | |||
| + | textureBlend select(texture:alphaReplicate) multiply(texture colorScalar) | ||
| + | end | ||
| + | |||
| + | stage | ||
| + | texture $stdMatBaseTextureName ${stdMatBaseTextureParam} | ||
| + | ffTextureCoordsSource 0 | ||
| + | textureBlend select(colorScalar) multiply(outRegister texture) | ||
| + | end | ||
| + | end | ||
| + | else | ||
| + | pass | ||
| + | |||
| + | # supports global wireframe modes and so forth. | ||
| + | create NonStandardLighting() | ||
| + | |||
| + | alphaBlend srcFactor(srcAlpha) add dstFactor(invSrcAlpha) | ||
| + | depthTest true -enableDepthWrite false | ||
| + | |||
| + | shaderProgram -target vertexProgram -method assemble | ||
| + | bindConstants 0 -bindingID geomToClip -constantCount 4 | ||
| + | bindConstants 10 -bindingID immediateData -data (@scale) | ||
| + | bindConstants 4 -bindingID geomToCamera -constantCount 3 | ||
| + | shaderSource | ||
| + | vs_1_1 | ||
| + | def c11, 0,0.5,1,2 | ||
| + | dcl_position v0 | ||
| + | dcl_normal v1 | ||
| + | dcl_texcoord v2 | ||
| + | |||
| + | mul r0.xyz, v0, c10.x | ||
| + | mov r0.w, v0.wwww | ||
| + | m4x4 oPos, r0, c0 | ||
| + | m3x3 oT0.xyz, v1,c4 | ||
| + | |||
| + | mov oT1.xy, v2 | ||
| + | endShaderSource | ||
| + | end | ||
| + | |||
| + | shaderProgram -target pixelProgram -method assemble | ||
| + | bindConstants 0 -bindingID immediateData -data (@color) | ||
| + | bindConstants 1 -bindingID immediateData -data (@alpha) -startChannel w | ||
| + | shaderSource | ||
| + | ps_1_1 | ||
| + | tex t0 | ||
| + | tex t1 | ||
| + | |||
| + | mov r0.rgb, c0 | ||
| + | +mul r0.a,t0.a, c1.a | ||
| + | mul r0.a, t1.a, r0.a | ||
| + | endShaderSource | ||
| + | end | ||
| + | |||
| + | |||
| + | sampler 0 | ||
| + | texture $stdMatEnvCubeTextureName -alphaFalloffCubeMap 64 (0, 1, 0) (-30, 255) 5 | ||
| + | textureMIPFilterHint disabled | ||
| + | textureAddressing clamp clamp clamp | ||
| + | end | ||
| + | |||
| + | sampler 1 | ||
| + | texture $stdMatBaseTextureName ${stdMatBaseTextureParam} | ||
| + | end | ||
| + | end | ||
| + | endif | ||
| + | end | ||
| + | shader | ||
| + | end | ||
| + | end | ||
| + | enddef | ||
| + | |||
| + | materialDefinition steamSphere_steam | ||
| + | setDefinition CubeAlphaFalloffTexture | ||
| + | addParam stdMatLayer 13 | ||
| + | addParam stdMatEnvCubeTextureName steamSphere_alphaFalloff5 | ||
| + | addParam stdMatBaseTextureName steam-alpha | ||
| + | end | ||
| + | |||
| + | materialDefinition effectsSteam_steam | ||
| + | setDefinition CubeAlphaFalloffTexture | ||
| + | addParam stdMatLayer 13 | ||
| + | addParam stdMatEnvCubeTextureName steamSphere_alphaFalloff5 | ||
| + | addParam stdMatBaseTextureName effectsSteam-alpha | ||
| + | end | ||
| + | |||
| + | materialDefinition effectsSmallSteam_steam | ||
| + | #< test use of the StandardParticleModelMaterial | ||
setDefinition StandardParticleModelMaterial | setDefinition StandardParticleModelMaterial | ||
| − | addParam | + | addParam stdMatBaseTextureName steam-alpha |
| − | addParam | + | addParam stdMatDiffCoef (1, 1, 1) |
| − | + | ||
addParam stdMatBaseTextureAlphaReplicate true | addParam stdMatBaseTextureAlphaReplicate true | ||
| − | addParam | + | #> |
| − | addParam stdMatBaseTextureName | + | setDefinition CubeAlphaFalloffTexture |
| − | addParam | + | addParam stdMatLayer 15 |
| − | addParam | + | addParam stdMatEnvCubeTextureName steamSphere_alphaFalloff5 |
| − | addParam | + | addParam stdMatBaseTextureName steam-alpha |
| + | end | ||
| + | |||
| + | |||
| + | materialDefinition fightPuff_puffball | ||
| + | setDefinition CubeAlphaFalloffTexture | ||
| + | addParam stdMatLayer 13 | ||
| + | addParam stdMatEnvCubeTextureName steamSphere_alphaFalloff5 | ||
| + | addParam stdMatBaseTextureName effectsFightPuff-alpha | ||
end | end | ||
Revision as of 11:36, 7 September 2007
- beginshader RotatingSteamLayers
- description Two layers of rotating steam textures
- extraparam float steamLayer1RotationSpeed 0.02 -1 1 ; Rotational speed of layer 1
- extraparam float steamLayer2RotationSpeed 0.02 -1 1 ; Rotational speed of layer 2
- extraparam float steamLayer1RotationX 0.5 -1 2 ; Rotation center X texture coord for layer 1
- extraparam float steamLayer1RotationY 0.5 -1 2 ; Rotation center Y texture coord for layer 1
- extraparam float steamLayer2RotationX 0.5 -1 2 ; Rotation center X texture coord for layer 2
- extraparam float steamLayer2RotationY 0.5 -1 2 ; Rotation center Y texture coord for layer 2
- extraparam int stdMatLayer 0 -32 32 ; Layer for render order
setf steamLayer1RotationSpeed 0.02
setf steamLayer2RotationSpeed 0.02
setf steamLayer1RotationX 0.5
setf steamLayer1RotationY 0.5
setf steamLayer2RotationX 0.5
setf steamLayer2RotationY 0.5
define RotatingSteamLayers()
material
attributes
attribute steamFade float1 0
end
shader -layer ($stdMatLayer * 18 + 17)
vertexFormatPred position 0 true
vertexFormatPred blendindices 0 false
vertexFormatPred targetindices 0 false
create SteamPass($stdMatBaseTextureName $steamLayer1RotationSpeed ($steamLayer1RotationX, $steamLayer1RotationY))
create SteamPass($stdMatBaseTextureName $steamLayer2RotationSpeed ($steamLayer2RotationX, $steamLayer2RotationY))
end
end
enddef
- endshader RotatingSteamLayers
define SteamPass(steamTexture speed origin)
pass -fixedFunction
create LightingStates()
depthTest true -enableDepthWrite false
alphaBlend srcFactor(srcColor) add dstFactor(invSrcColor)
ffMatCoef -emit (1,1,1) -diff (0,0,0) -diffAlpha @steamFade
fillmode $stdMatFillMode
stage
ffTextureCoordsSource 0
texture &steamTexture
textureBlend select(texture) multiply(texture diffuse)
end
stage
ffTextureCoordsSource 0
textureMatrixAnimation -targetType fixedFunction -arot sawtooth &speed 0 (0,1) -aorigin ((1, 1) - (&origin))
texture &steamTexture
textureBlend multiply(outRegister:alphaReplicate texture) multiply(outRegister texture)
end
end
enddef
define CubeAlphaFalloffTexture()
material
attributes
attribute color float3
attribute alpha float1
attribute scale float1
end
shader -layer ($stdMatLayer * 18 + 17)
vertexFormatPred position 0 true
vertexFormatPred normal 0 true
vertexFormatPred texcoord 0 true
vertexFormatPred blendindices 0 false
vertexFormatPred targetindices 0 false
create DetermineHardwareSupport()
if ($useFixedFunctionPath or $useSWVertexShaderPath)
pass -fixedFunction
create LightingStatesNoStdLightsParam(true false)
alphaBlend srcFactor(srcAlpha) add dstFactor(invSrcAlpha)
depthTest true -enableDepthWrite false
colorScalar @color @alpha
ffScaleModelTransform @scale
fillmode $stdMatFillMode
stage
texture $stdMatEnvCubeTextureName -alphaFalloffCubeMap 64 (0, 1, 0) (-30, 255) 5
textureMIPFilterHint disabled
ffTextureCoordsSource fromNormal
textureTransformType vector3
# ffTextureMatrix -orientToCamera
textureAddressing clamp clamp clamp
textureBlend select(texture:alphaReplicate) multiply(texture colorScalar)
end
stage
texture $stdMatBaseTextureName ${stdMatBaseTextureParam}
ffTextureCoordsSource 0
textureBlend select(colorScalar) multiply(outRegister texture)
end
end
else
pass
# supports global wireframe modes and so forth.
create NonStandardLighting()
alphaBlend srcFactor(srcAlpha) add dstFactor(invSrcAlpha)
depthTest true -enableDepthWrite false
shaderProgram -target vertexProgram -method assemble
bindConstants 0 -bindingID geomToClip -constantCount 4
bindConstants 10 -bindingID immediateData -data (@scale)
bindConstants 4 -bindingID geomToCamera -constantCount 3
shaderSource
vs_1_1
def c11, 0,0.5,1,2
dcl_position v0
dcl_normal v1
dcl_texcoord v2
mul r0.xyz, v0, c10.x
mov r0.w, v0.wwww
m4x4 oPos, r0, c0
m3x3 oT0.xyz, v1,c4
mov oT1.xy, v2
endShaderSource
end
shaderProgram -target pixelProgram -method assemble
bindConstants 0 -bindingID immediateData -data (@color)
bindConstants 1 -bindingID immediateData -data (@alpha) -startChannel w
shaderSource
ps_1_1
tex t0
tex t1
mov r0.rgb, c0
+mul r0.a,t0.a, c1.a
mul r0.a, t1.a, r0.a
endShaderSource
end
sampler 0
texture $stdMatEnvCubeTextureName -alphaFalloffCubeMap 64 (0, 1, 0) (-30, 255) 5
textureMIPFilterHint disabled
textureAddressing clamp clamp clamp
end
sampler 1
texture $stdMatBaseTextureName ${stdMatBaseTextureParam}
end
end
endif
end
shader
end
end
enddef
materialDefinition steamSphere_steam
setDefinition CubeAlphaFalloffTexture addParam stdMatLayer 13 addParam stdMatEnvCubeTextureName steamSphere_alphaFalloff5 addParam stdMatBaseTextureName steam-alpha
end
materialDefinition effectsSteam_steam
setDefinition CubeAlphaFalloffTexture addParam stdMatLayer 13 addParam stdMatEnvCubeTextureName steamSphere_alphaFalloff5 addParam stdMatBaseTextureName effectsSteam-alpha
end
materialDefinition effectsSmallSteam_steam
- < test use of the StandardParticleModelMaterial
setDefinition StandardParticleModelMaterial addParam stdMatBaseTextureName steam-alpha addParam stdMatDiffCoef (1, 1, 1) addParam stdMatBaseTextureAlphaReplicate true
- >
setDefinition CubeAlphaFalloffTexture addParam stdMatLayer 15 addParam stdMatEnvCubeTextureName steamSphere_alphaFalloff5 addParam stdMatBaseTextureName steam-alpha
end
materialDefinition fightPuff_puffball
setDefinition CubeAlphaFalloffTexture addParam stdMatLayer 13 addParam stdMatEnvCubeTextureName steamSphere_alphaFalloff5 addParam stdMatBaseTextureName effectsFightPuff-alpha
end