etqw-sdk/base/materials/shaderdemo.mtr

981 lines
19 KiB
Plaintext

material shaderdemos/testRotate {
{
// map gfx/misc/console01.tga
map _default
rotate time * -0.1
}
}
material shaderdemos/testScale {
{
map gfx/misc/console01.tga
scale scaleTable[time * 0.1] , scaleTable[time * 0.1]
}
}
material shaderdemos/testShear {
{
map gfx/misc/console01.tga
shear scaleTable[time * 0.1] , 0
}
}
material shaderdemos/testTranslate {
{
map gfx/misc/console01.tga
translate time * 0.1 , time * 0.2
}
}
material shaderdemos/testSos {
{
map gfx/misc/console01.tga
rgb sosTable[ time * 0.25 ]
}
}
material shaderdemos/testNearest {
{
map lights/window.tga
nearest
scale .25 , .25
}
}
material shaderdemos/testLinear {
{
map lights/window.tga
linear
scale 4 , 4
}
}
material shaderdemos/testClamp {
{
map textures/base_wall/steel.tga
clamp
}
}
material shaderdemos/testZeroClamp {
{
map textures/base_wall/steel.tga
zeroclamp
}
}
material shaderdemos/testBlendOverLight {
bumpmap addnormals( textures/base_wall/panel01_local.tga , heightmap( textures/base_wall/panel01_add.tga, 6 ) )
diffusemap textures/base_wall/panel01_d.tga
specularmap textures/base_wall/panel01_s.tga
{
blend add
color 0.25 * scaleTable[ time ] , 0.2, 0.2, 1
map lights/window.tga
}
}
material shaderdemos/tableTest {
{
map gfx/misc/console01.tga
translate scaleTable[ time ] * 0.1 , 0
}
{
blend add
map _default
translate 0, scaleTable[ time * 4 ] * 0.1
}
}
material shaderdemos/testAnim {
{
if ( ( time * 4 ) % 3 == 0 )
map gfx/misc/console01.tga
}
{
if ( ( time * 4 ) % 3 == 1 )
map textures/base_wall/panel01_d.tga
}
{
if ( ( time * 4 ) % 3 == 2 )
map lights/window.tga
}
}
material shaderdemos/testFadedAnim {
{
rgb oneThirdTable[time]
map gfx/misc/console01.tga
}
{
blend add
rgb oneThirdTable[time + ( 1 / 3 ) ]
map textures/base_wall/panel01_d.tga
}
{
blend add
rgb oneThirdTable[time + ( 2 / 3 ) ]
map lights/window.tga
}
}
material shaderdemos/testBlend {
translucent
{
blend GL_ONE, GL_ONE
map lights/window.tga
}
}
material shaderdemos/testAlphaTest {
noshadows
twosided
{
blend bumpmap
map ase\testroom1f_local.tga
}
{
blend diffusemap
map ase\testroom1fdif.tga
alphaTest 0.5
}
{
blend specularmap
map ase\testroom1fspec.tga
}
}
material shaderdemos/testScrollingBump {
{
blend bumpmap
map addnormals( textures/base_wall/panel01_local.tga , heightmap( textures/base_wall/panel01_add.tga, 6 ) )
translate time * 0.1 , time * 0.2
}
{
blend diffusemap
map textures/base_wall/panel01_d.tga
}
{
blend specularmap
map textures/base_wall/panel01_s.tga
}
}
material shaderdemos/testScrollingColor {
{
blend bumpmap
map addnormals( textures/base_wall/panel01_local.tga , heightmap( textures/base_wall/panel01_add.tga, 6 ) )
}
{
blend diffusemap
map textures/base_wall/panel01_d.tga
translate time * 0.1 , time * 0.2
}
{
blend specularmap
map textures/base_wall/panel01_s.tga
translate time * 0.1 , time * 0.2
}
}
material shaderdemos/testBlendingColor {
{
blend bumpmap
map addnormals( textures/base_wall/panel01_local.tga , heightmap( textures/base_wall/panel01_add.tga, 6 ) )
}
{
blend diffusemap
rgb fadeTable[ time ]
map textures/base_wall/panel01_d.tga
}
{
blend diffusemap
rgb 1.0 - fadeTable[ time ]
map lights/window.tga
}
{
blend specularmap
map textures/base_wall/panel01_s.tga
}
}
material shaderdemos/testOrderOfOperations {
{
map lights/window.tga
rgb fadeTable[time] + 0.1 * 0.01
}
}
material shaderdemos/guiSurf {
discrete
qer_editorimage textures/editor/gui.tga
guiSurf guis/test.gui
}
material shaderdemos/entityGui {
discrete
qer_editorimage textures/editor/entityGui.tga
guiSurf entity
}
material shaderdemos/entityGui2 {
discrete
qer_editorimage textures/editor/entityGui.tga
guiSurf entity2
}
material shaderdemos/entityGui3 {
discrete
qer_editorimage textures/editor/entityGui.tga
guiSurf entity3
}
material shaderdemos/sargeNoSelfShadow
{
noSelfShadow
bumpmap addnormals( models/characters/sarge/hsarge_hi_local.tga, heightmap( models/characters/sarge/hsarge_add.tga, 3 ) )
diffusemap models/characters/sarge/hsarge_df.tga
specularmap models/characters/sarge/hsarge_sp.tga
}
material shaderdemos/sargeNoShadow
{
noShadows
bumpmap addnormals( models/characters/sarge/hsarge_hi_local.tga, heightmap( models/characters/sarge/hsarge_add.tga, 3 ) )
diffusemap models/characters/sarge/hsarge_df.tga
specularmap models/characters/sarge/hsarge_sp.tga
}
material shaderdemos/sargeHighQuality
{
noShadows
{
blend bumpmap
map addnormals( models/characters/sarge/hsarge_hi_local.tga, heightmap( models/characters/sarge/hsarge_add.tga, 3 ) )
}
{
blend diffusemap
map models/characters/sarge/hsarge_df.tga
}
{
blend specularmap
map models/characters/sarge/hsarge_sp.tga
}
}
material shaderDemos/mumble
{
translucent
noShadows
{
blend bumpmap
map addnormals( models/monsters/mumble/mumble_hm.tga, heightmap( models/monsters/mumble/mumble_add.tga, 3 ) )
}
{
blend diffusemap
map models/monsters/mumble/mumble.tga
color 0.1, 0.1, 0.1, 0.1
}
{
blend specularmap
map models/monsters/mumble/mumble_s.tga
}
}
material shaderDemos/hmumble
{
translucent
noShadows
bumpmap addnormals( models/monsters/mumble/hmumble_hm.tga, heightmap( models/monsters/mumble/hmumble_add.tga, 4 ) )
diffusemap models/monsters/mumble/hmumble.tga
specularmap models/monsters/mumble/hmumble_s.tga
}
material shaderDemos/cubeMap
{
{
cubeMap env/test
texgen reflect
}
}
material shaderDemos/env2
{
{
cubeMap env/e3_2_amb
texgen normal
}
}
material shaderDemos/env3
{
{
cubeMap env/e3_3_amb
texgen normal
}
}
material shaderDemos/envBath
{
{
cubeMap env/bath_spec
texgen normal
}
}
material shaderDemos/skybox
{
{
// cameraCubeMap env/boxsky
cameraCubeMap env/cloudy
// texgen skybox
texgen wobblesky 10 0.1 0.1
}
}
material shaderDemos/diffuseCubeMap
{
{
blend diffusemap
cubeMap env/test
texgen reflect
}
{
blend bumpmap
map _flat
}
}
//=========================================================
// alpha test demos
//=========================================================
material shaderDemos/alphaTestBasic
{
qer_editorimage textures/decals/ember2.tga
noshadows
// this stage serves as both the diffusemap and the alphatest map
{
blend diffusemap
map textures/decals/ember2_dif.tga
alphaTest 0.55
}
bumpmap heightmap (textures/decals/ember2_bmp.tga, 4)
specularmap textures/decals/ember2_dif.tga
}
material shaderDemos/alphaTestWithAdditive
{
qer_editorimage textures/decals/ember2.tga
noshadows
// this stage serves as both the diffusemap and the alphatest map
{
blend diffusemap
map textures/decals/ember2_dif.tga
alphaTest 0.55
}
bumpmap heightmap (textures/decals/ember2_bmp.tga, 4)
specularmap textures/decals/ember2_dif.tga
// the additive pass will only draw on the pixels passed by the alphatest map
{
blend gl_one, gl_one
map textures/decals/ember2_add.tga
rgb ember1 [ time * .25 ]
}
}
material shaderDemos/alphaTestWithAdditiveIgnore
{
qer_editorimage textures/decals/ember2.tga
noshadows
// this stage serves as both the diffusemap and the alphatest map
{
blend diffusemap
map textures/decals/ember2_dif.tga
alphaTest 0.55
}
bumpmap heightmap (textures/decals/ember2_bmp.tga, 4)
specularmap textures/decals/ember2_dif.tga
// the additive pass will draw over the entire polygon, not just inside the alpha test
{
ignoreAlphaTest
blend gl_one, gl_one
map textures/decals/ember2_add.tga
rgb ember1 [ time * .25 ]
}
}
material shaderDemos/alphaTestAsMask
{
qer_editorimage textures/decals/ember2.tga
noshadows
// this stage will define the alphatest map, but not draw anything
{
blend gl_zero, gl_one // doesn't draw at all
scale 0.25, 0.25 // much larger than the diffusemap
map textures/decals/ember2_dif.tga
alphaTest 0.55
}
diffusemap textures/decals/ember2_dif.tga
bumpmap heightmap (textures/decals/ember2_bmp.tga, 4)
specularmap textures/decals/ember2_dif.tga
}
material shaderDemos/alphaTestMultiple
{
qer_editorimage textures/decals/ember2.tga
noshadows
// this stage will define the alphatest map, but not draw anything
{
blend gl_zero, gl_one // doesn't draw at all
rotate 0.1 * time
map textures/decals/ember2_dif.tga
alphaTest 0.55
}
// this stage will define another alphatest map, but not draw anything
{
blend gl_zero, gl_one // doesn't draw at all
rotate -0.1 * time
scale 1.2, 1.2
map textures/decals/ember2_dif.tga
alphaTest 0.55
}
diffusemap textures/decals/ember2_dif.tga
bumpmap heightmap (textures/decals/ember2_bmp.tga, 4)
specularmap textures/decals/ember2_dif.tga
}
//=========================================================
// auto sprite test demos
//=========================================================
material shaderDemos/autoSpriteFlat
{
noshadows
nonsolid
deform sprite
// this tests the re-generation of tangents on deformed surfaces
qer_editorimage textures/base_door/door1.tga
bumpmap models/seneca/textures/door1_local.tga
diffusemap models/seneca/textures/door1_d.tga
specularmap models/seneca/textures/door1_s.tga
}
material shaderDemos/autoSpriteTube
{
translucent
nonsolid
deform tube
{
blend add
map textures/decals/ember2_dif.tga
colored
}
}
material shaderDemos/deformFlare
{
noshadows
translucent
nonsolid
discrete
deform flare 16
qer_editorimage textures/editor/flare.tga
{
blend add
map _quadratic
colored // take color from light entity
vertexcolor // fade as the surface goes oblique
}
}
material shaderDemos/deformFlareDimmed
{
noshadows
translucent
nonsolid
discrete
deform flare 16
qer_editorimage textures/editor/flare.tga
{
blend add
map _quadratic
red parm0 * 0.5
green parm1 * 0.5
blue parm2 * 0.5
vertexcolor
}
}
material testRoq // this is used by the testRoQ command, which will override the videoMap based on the command line
{
qer_editorimage textures/editor/video.tga
{
videoMap video/mpintro.roq
}
}
material shaderDemos/videoMap
{
qer_editorimage textures/editor/video.tga
{
videoMap video/mpintro.roq
}
}
material shaderDemos/diffuseVideoMap
{
qer_editorimage textures/editor/video.tga
bumpmap _flat
{
blend diffusemap
videoMap video/mpintro.roq
}
}
material shaderDemos/videoMap2
{
qer_editorimage textures/editor/video.tga
{
videoMap video/moon.roq
}
}
material shaderDemos/vertexBlend
{
{
blend bumpmap
map addnormals( textures/base_wall/bluetex3e_local.tga, heightmap( textures/base_wall/bluetex3ebmp.tga, 6 ) )
}
{
blend diffusemap
map textures/base_wall/dlongwall_d.tga
vertexColor
}
{
blend diffusemap
map textures/base_wall/redtex1dif.tga
inverseVertexColor
}
}
material shaderDemos/ambientVertexBlend
{
{
map textures/base_wall/dlongwall_d.tga
vertexColor
}
{
blend add
map textures/base_wall/redtex1dif.tga
inverseVertexColor
}
}
material shaderDemos/blendBumpMap
{
// blended part
{
blend bumpmap
map heightmap (textures/rock/skysand1_bmp.tga, 4)
// note that you do NOT put vertexColor on the bumpmap
}
{
blend diffusemap
map textures/rock/skysand1_d.tga
vertexColor
}
{
blend specularmap
map textures/rock/skysand1_s.tga
vertexColor
}
// inverse blended part
{
blend bumpmap
map models/seneca/textures/factoutwall1_local.tga
}
{
blend diffusemap
map models/seneca/textures/factoutwall1_d.tga
inverseVertexColor
}
}
material shaderDemos/lightSoundShader
{
{
map zeroclamp lights/squarelight1.tga
red sound * Parm0
green sound * Parm1
blue sound * Parm2
}
}
material shaderDemos/expand
{
deform expand 4*sintable[time*0.5]
noshadows
{
map models/mapobjects/corpses/corpse1_d.tga
}
}
material shaderDemos/move
{
deform move 10*sintable[time*0.5] // *sound
noshadows
{
map models/mapobjects/corpses/corpse1_d.tga
}
}
material shaderDemos/scratchMaterial
{
noshadows
{
blend blend
map _scratch
}
}
material shaderDemos/opaqueScratchMaterial
{
noshadows
{
blend gl_one, gl_zero
map _scratch
}
}
material shaderDemos/invertedScratchMaterial
{
noshadows
{
map _scratch
scale 1, -1
}
}
material shaderDemos/remoteCamera
{
qer_editorimage textures/editor/camera.tga
noshadows
forceOpaque
bumpmap textures/sfx/monitor_glass_local.tga
specularmap textures/sfx/monitor_glass_s.tga
diffusemap _black
{
blend add
remoteRenderMap 512 256 // width / height of render image
scale 1 , -1 // the render view ars upside down otherwise
translate 0, -1
}
{
blend filter
map textures/sfx/monitor_glass.tga
scale 2, 2
translate time * 5 , time * 3
}
}
material shaderdemos/shadowDrawLight {
// this would default the same if not specified
lightFalloffImage makeintensity( lights/squarelight1a.tga )
{
// this stage will be drawn normally
map lights/squarelight1.tga
colored
zeroClamp
}
{
// this stage will be drawn on the shadows, still modulated by the lightFalloffImage
shadowDraw
map lights/squarelight1.tga
rgb 0.5
blend GL_ZERO, GL_ONE_MINUS_SRC_COLOR
}
}
material shaderDemos/transparentMirror {
discrete // each surface needs to make a separate mirror view
qer_editorimage textures/common/qer_mirror.tga
translucent
noshadows
{
mirrorRenderMap 512 256 // size of the texture to draw the mirror view in
blend blend
// give it a greenish tint
red 0.6
green 1
blue 0.6
// opacity
alpha 0.7
// fix up the projection
translate 0.5 , 0.5
scale 0.5 , 0.5
}
}
// the transition between the loading screen and gameplay
// parm3 will ramp from 0.0 to 1.0 during the wipe time
material wipeMaterial {
{
blend blend
alpha parm3
map _black // the image we are wiping from
scale 1, -1 // copyTexImage makes it upside down
translate 0, -1 // move it back to the 0.0 to 1.0 range so clamp works
}
}
material wipe2Material {
{
program trivialRGBWithTextureMatrix
blend blend
map _scratch // the image we are wiping from
scale 1, -1 // copyTexImage makes it upside down
translate 0, -1 // move it back to the 0.0 to 1.0 range so clamp works
alpha 1.0 - parm3
}
}
material lights/spectrumLight
{
lightFalloffImage makeintensity( lights/squarelight1a.tga )
spectrum 1
{
map zeroClamp lights/squarelight1.tga
colored
}
}
/*
material shaderDemos/spectrumDecal
{
qer_editorimage textures/decals/symbol06.tga
DECAL_MACRO
noShadows
nonsolid
noimpact
twoSided
translucent
spectrum 1
{
blend diffusemap
map textures/decals/symbol06.tga
red (fireballtable[ time * .2]) * parm0
green (fireballtable[ time * .2]) * parm1
blue (fireballtable[ time * .2]) * parm2
}
{
blend specularmap
map textures/decals/symbol06.tga
}
}
*/
material shaderDemos/stripTest
{
{
blend add
map textures/particles/flame2_strip.tga
scale 1 / 32 , 1
scroll table32[ time ] , 0
}
}
material lights/tableTest {
{
map zeroClamp lights/squareishlight.tga
rgb tableTest[ time ]
colored
}
}
//==============================================
material shaderDemos/heatHaze
{
translucent // don't write during the fill depth buffer phase
sort postprocess
{
program heatHaze
deformScroll 0 , time * 0.05 // texture scrolling
deformMagnitude 1 // magnitude of the distortion
bumpMap picmip -1 textures/hell/lava1_local.tga // the normal map for distortion
maskAlpha
}
}
material shaderDemos/heatHazeWithMaskAndVertex
{
translucent
{
program heatHazeWithMaskAndVertex.vfp
vertexParm 0 0 // texture scrolling
vertexParm 1 4 // magnitude of the distortion
fragmentMap 0 _currentRender
fragmentMap 1 textures/sfx/vpsphere // the normal map for distortion
fragmentMap 2 textures/particles/vpring1_alpha.tga // the distortion blend map
}
}
skin heatHaze {
* shaderDemos/heatHaze
}
//==============================================
material shaderDemos/bumpyReflect
{
{
vertexProgram bumpyEnvironment.vfp
vertexParm 0 1 // color modulation
fragmentProgram bumpyEnvironment.vfp
fragmentMap 0 cubeMap env/soulz
// fragmentMap 1 addnormals( models/monsters/pinky/pinky_local.tga, heightmap( models/monsters/pinky/pinky_b.tga, 9 ) )
fragmentMap 1 models/monsters/pinky/pinky_local.tga
}
}
skin bumpyReflect {
// models/monsters/pinky/pinky_metal shaderDemos/bumpyReflect
* shaderDemos/bumpyReflect
}
//==============================================
material shaderDemos/pinch
{
{
vertexProgram pinch.cg
vertexParm 0 sinTable[ time * 0.1 ] // pinch factorcolor modulation
fragmentProgram pinch.cg
fragmentMap 0 _currentRender
}
}
skin pinch {
* shaderDemos/pinch
}
//==============================================
material shaderDemos/megaTexture
{
qer_editorImage area3_preview.tga
{
blend gl_one, gl_zero
// megaTexture nonPOT.mega
// megaTexture croppedSat.mega
// megaTexture ochipdata.mega
// megaTexture area1.mega
megaTexture area3.mega
}
}
//==============================================
material shaderDemos/colorProcess
{
{
program colorProcess.vfp
vertexParm 0 sinTable[ time * 0.1 ] // 0.0 = source color, 1.0 = target color
vertexParm 1 0.9, 0.6, 0.9 // target full intensity RGB
fragmentMap 0 _currentRender
}
}
//==============================================
material shaderDemos/cloudySky
{
{
cameraCubeMap env/marssky
texgen skybox
}
{
blend blend
cameraCubeMap env/marscloud
texgen skybox
rotate time*-0.001
}
{
blend blend
cameraCubeMap env/marssky_dust
texgen skybox
rotate time*0.002
}
{
blend blend
cameraCubeMap env/marssky_foreground
texgen skybox
}
}