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 } }