1081 lines
No EOL
19 KiB
Text
1081 lines
No EOL
19 KiB
Text
|
|
material shaderDemos/ambientTest
|
|
{
|
|
{
|
|
cubeMap env/penta_amb
|
|
texgen normal
|
|
}
|
|
}
|
|
|
|
material shaderDemos/ambientTest2
|
|
{
|
|
{
|
|
cubeMap env/penta_spec
|
|
texgen normal
|
|
}
|
|
}
|
|
|
|
material shaderDemos/ambientEnv
|
|
{
|
|
{
|
|
cubeMap env/penta
|
|
texgen normal
|
|
}
|
|
}
|
|
|
|
|
|
material penta/atmosphereClouds
|
|
{
|
|
{
|
|
map heightmap (textures/penta/cloud05.tga, 6)
|
|
}
|
|
{
|
|
map textures/penta/cloud05.tga
|
|
}
|
|
}
|
|
|
|
/*
|
|
|
|
Weather "simulations" are gamecode side, this means calculating wich layers and how much clouds we want, the "humidity" (mie scatteriing) parameter of the atmosphere, time of day, sun intensisty are done by the game.
|
|
The pysical side of things (calculating the actual colors based on the parameters ...) are done by the engine (and most of them by the graphics hardware)
|
|
The params are from the atmosphere entity?? The cloud textures should just be made by the artists? Simulating acual cloud shapes may be hard/slow
|
|
*/
|
|
|
|
|
|
//The sun sprite
|
|
material penta/sun
|
|
{
|
|
|
|
noShadows
|
|
noSelfShadow
|
|
|
|
deform sprite
|
|
{
|
|
blend add
|
|
map env/sun.tga
|
|
color parm0, parm1, parm2, 1.0
|
|
}
|
|
}
|
|
|
|
//Shader parm 4 contains angle to the horizon in [0..1] range
|
|
//fixme use same calculations as for sun color and 60% reflectance from the moon surface??
|
|
material penta/moon
|
|
{
|
|
noShadows
|
|
noSelfShadow
|
|
|
|
deform sprite
|
|
{
|
|
blend blend
|
|
map env/moon_full.tga
|
|
color moonRedTable[parm4], moonGreenTable[parm4], moonBlueTable[parm4], 1.0
|
|
}
|
|
}
|
|
|
|
material penta/liquidTest
|
|
{
|
|
discrete
|
|
//translucent
|
|
noshadows
|
|
//sort subview
|
|
twosided
|
|
|
|
diffusemap _black
|
|
//specularmap models/mapobjects/test/roof_s.tga
|
|
//specularmap _white
|
|
{
|
|
blend bumpmap
|
|
map heightmap (textures/detail/crackedearth.tga, 20)
|
|
scroll time*0.2, time*0.2
|
|
}
|
|
|
|
{
|
|
refractWaterRenderMap 512 256 // size of the texture to draw the mirror view in
|
|
//blend blend
|
|
//vertexcolor
|
|
|
|
|
|
// fix up the projection
|
|
translate 0.5 , 0.5
|
|
scale 0.5 , 0.5
|
|
}
|
|
|
|
{
|
|
mirrorWaterRenderMap 512 256 // size of the texture to draw the mirror view in
|
|
blend blend
|
|
vertexcolor
|
|
|
|
// fix up the projection
|
|
translate 0.50 , 0.50
|
|
scale 0.5 , 0.5
|
|
}
|
|
|
|
|
|
}
|
|
|
|
material terrain/rock
|
|
{
|
|
discrete
|
|
//translucent
|
|
noshadows
|
|
//sort subview
|
|
{
|
|
map textures/base_wall/a_sopanel1_d01b.tga
|
|
//mirrorRenderMap 256 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.5
|
|
|
|
// fix up the projection
|
|
//translate 0.5 , 0.5
|
|
//scale 0.5 , 0.5
|
|
}
|
|
}
|
|
|
|
material terrain/rock2
|
|
{
|
|
discrete
|
|
//translucent
|
|
noshadows
|
|
{
|
|
//mirrorRenderMap 256 256 // size of the texture to draw the mirror view in
|
|
map textures/base_wall/a_sopanel1_d01b.tga
|
|
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
|
|
}
|
|
}
|
|
|
|
material penta/skydome_backdrop {
|
|
|
|
noShadows
|
|
noSelfShadow
|
|
|
|
sort decal
|
|
|
|
//Background color of the sky
|
|
{
|
|
vertexProgram skycolor2.cg
|
|
vertexParm 0 haloscale, halobias
|
|
vertexParm 1 sun_x, sun_y, sun_z
|
|
vertexParm 2 cosTable[ sun_azimuth / 360 ], sinTable[ sun_azimuth / 360 ], 0
|
|
vertexParm 3 sinTable[ sun_azimuth / 360 ] * -1, cosTable[ sun_azimuth / 360 ], 0
|
|
fragmentProgram skycolor2.cg
|
|
fragmentMapBinding 0 skyGradient
|
|
}
|
|
/*
|
|
//Add high altitude clouds
|
|
{
|
|
blend add
|
|
map _starCubeMap
|
|
color stardens * 0.5, stardens * 0.5, stardens * 0.5, 0
|
|
texGen equatorialSky
|
|
}
|
|
*/
|
|
|
|
|
|
|
|
}
|
|
|
|
material penta/skydome_clouds {
|
|
|
|
noShadows
|
|
noSelfShadow
|
|
noAtmosphere
|
|
|
|
|
|
//Add high altitude clouds
|
|
{
|
|
if clouddens1
|
|
blend add
|
|
halfSphereMap atmosphere/high_heavy.tga
|
|
color clouddens1, clouddens1, clouddens1, 0
|
|
texGen skybox
|
|
}
|
|
/*
|
|
//Add medium clouds
|
|
{
|
|
blend GL_ONE_MINUS_SRC_ALPHA, GL_SRC_ALPHA
|
|
vertexProgram litclouds.cg
|
|
vertexParm 0 cloudscale, cloudbias
|
|
vertexParm 1 sun_x, sun_y, sun_z
|
|
vertexParm 2 cloud_r, cloud_g, cloud_b, clouddens2
|
|
vertexParm 3 cloudhighlight_r, cloudhighlight_g, cloudhighlight_b
|
|
fragmentProgram litclouds.cg
|
|
fragmentMap 0 halfSphereMap atmosphere/cloudy.tga
|
|
fragmentMap 1 _skyGradient
|
|
}
|
|
*/
|
|
/*{
|
|
//blend blend
|
|
vertexProgram warclouds3.cg
|
|
vertexParm 0 time*0.001
|
|
|
|
|
|
fragmentProgram warclouds3.cg
|
|
fragmentMap 0 env/clouds/mask.tga
|
|
fragmentMap 1 env/clouds/altostratus01.tga
|
|
}*/
|
|
|
|
/*{
|
|
blend add
|
|
vertexProgram spherical_texgen.cg
|
|
vertexParm 0 time*0.005
|
|
fragmentProgram spherical_texgen.cg
|
|
fragmentMap 0 atmosphere/cloudhigh2.tga
|
|
}*/
|
|
|
|
/*{
|
|
blend add
|
|
halfSphereMap atmosphere/cloudhigh2.tga
|
|
highquality
|
|
texGen skybox
|
|
rotate time*0.005
|
|
vertexColor
|
|
}*/
|
|
}
|
|
|
|
/*
|
|
material penta/skydome_clouds {
|
|
|
|
noShadows
|
|
noSelfShadow
|
|
|
|
{
|
|
vertexParm 0 time*0.001
|
|
vertexParm 1 0, 0, 1
|
|
blend blend
|
|
vertexProgram warclouds2.vfp
|
|
// pixelParm 0 1, 1, 1
|
|
// pixelParm 1 0.5, 0.5, 0.5
|
|
fragmentProgram warclouds2.vfp
|
|
fragmentMap 0 add(scale(heightmap(env/clouds/altostratus01.tga, 20), 1.0, 1.0, 1.0, 0.0),
|
|
scale(env/clouds/altostratus01.tga, 0.0, 0.0, 0.0, 1.0))
|
|
fragmentMap 1 _normalCubeMap
|
|
fragmentMap 2 env/clouds/altostratus01.tga
|
|
fragmentMap 3 env/clouds/mask.tga
|
|
}
|
|
}
|
|
*/
|
|
/*
|
|
material penta/skydome_clouds {
|
|
|
|
noShadows
|
|
noSelfShadow
|
|
|
|
{
|
|
blend blend
|
|
vertexProgram warclouds.vfp
|
|
vertexParm 0 time*0.01
|
|
fragmentProgram warclouds.vfp
|
|
fragmentMap 0 env/clouds/altostratus01.tga
|
|
fragmentMap 1 env/clouds/altostratus01.tga
|
|
fragmentMap 2 env/clouds/mask.tga
|
|
}
|
|
}
|
|
*/
|
|
|
|
/*
|
|
material penta/skydome_clouds {
|
|
|
|
noShadows
|
|
noSelfShadow
|
|
|
|
//Cirrus
|
|
{
|
|
blend cloudhigh
|
|
map env/clouds/cirrus01.tga
|
|
color cirrus*10*(1-fog), cirrus*10*(1-fog), cirrus*10*(1-fog), cirrus*10*(1-fog)
|
|
}
|
|
|
|
//Cirrostratus
|
|
{
|
|
scroll time*wind_x*0.1, time*wind_y*0.1
|
|
blend cloudhigh
|
|
map env/clouds/cirrostratus01.tga
|
|
color cirrostratus*10*(1-fog), cirrostratus*10*(1-fog), cirrostratus*10*(1-fog), cirrostratus*10*(1-fog)
|
|
}
|
|
|
|
//Alto stratus clouds
|
|
{
|
|
if (altostratus > 0.5)
|
|
translate 0.5, 0.5
|
|
scroll time*wind_x*0.8, time*wind_y*0.8
|
|
blend cloudmedium
|
|
map env/clouds/altostratus01.tga
|
|
color 1.0, 1.0, 1.0, (1-fog)
|
|
}
|
|
|
|
//Alto stratus clouds
|
|
{
|
|
if (altostratus > 0.75)
|
|
scroll time*wind_x*0.5, time*wind_y*0.5
|
|
blend cloudmedium
|
|
map Scale( env/clouds/altostratus01.tga, 0.8, 0.8, 0.8, 1.0)
|
|
color 1.0, 1.0, 1.0, (1-fog)*0.75
|
|
}
|
|
|
|
//Stratocumulus
|
|
{
|
|
//if (status > 0.5)
|
|
translate 0.5, 0.5
|
|
scroll time*wind_x*0.25, time*wind_y*0.25
|
|
blend cloudmedium
|
|
map env/clouds/stratocumulus01.tga
|
|
color 1.0, 1.0, 1.0, stratocumulus*(1-fog)
|
|
}
|
|
}
|
|
|
|
*/
|
|
|
|
//Single cloud puff of a particle cloud
|
|
material penta/cloud {
|
|
|
|
noShadows
|
|
noSelfShadow
|
|
|
|
{
|
|
if 0
|
|
blend blend
|
|
|
|
//vertexProgram cloud_blob.cg
|
|
//vertexParm 0 1
|
|
//fragmentProgram cloud_blob.cg
|
|
//fragmentMap 0 env/clouds/cumulus02.tga
|
|
color cloudhighlight_r, cloudhighlight_g, cloudhighlight_b, clouddens3
|
|
map env/clouds/cumulus02.tga
|
|
}
|
|
}
|
|
|
|
/*
|
|
material penta/skydome_scaletest {
|
|
|
|
//Basic sky color
|
|
{
|
|
blend skycolor
|
|
map _white
|
|
}
|
|
|
|
//Add stars
|
|
{
|
|
color stardens, stardens, stardens, 1.0
|
|
blend add
|
|
texGen skybox
|
|
//vertexcolor
|
|
map _starCubeMap
|
|
}
|
|
|
|
//Cirrus
|
|
{
|
|
//scroll 0, time*0.001
|
|
scale 0.00005, 0.00005
|
|
blend cloudhigh
|
|
map env/clouds/cirrus01.tga
|
|
color cirrus*10*(1-fog), cirrus*10*(1-fog), cirrus*10*(1-fog), cirrus*10*(1-fog)
|
|
}
|
|
|
|
//Cirrostratus
|
|
{
|
|
scroll 0, time*0.001
|
|
scale 0.00005, 0.00005
|
|
blend cloudhigh
|
|
map env/clouds/cirrostratus01.tga
|
|
color cirrostratus*10*(1-fog), cirrostratus*10*(1-fog), cirrostratus*10*(1-fog), cirrostratus*10*(1-fog)
|
|
}
|
|
|
|
//Alto stratus clouds
|
|
{
|
|
blend cloudmedium
|
|
//blend blend
|
|
scale 0.00005, 0.00005
|
|
map Scale( env/clouds/altostratus01.tga, 1.2, 1.2, 1.2, 1.0)
|
|
color 1.0, 1.0, 1.0, altostratus*(1-fog)
|
|
}
|
|
|
|
}*/
|
|
|
|
|
|
|
|
material penta/glare
|
|
{
|
|
{
|
|
//blend add
|
|
program glare.vfp
|
|
vertexParm 0 1/1024.0;
|
|
vertexParm 1 0.9, 0.6, 0.9 // target full intensity RGB
|
|
fragmentMap 0 _currentRender
|
|
}
|
|
}
|
|
|
|
/**
|
|
Post process material that shows the destination alpha channel.
|
|
(Fixed the engine so postprocess alpha works!)`
|
|
*/
|
|
material penta/showalpha
|
|
{
|
|
sort postprocess
|
|
translucent
|
|
{
|
|
program postprocess/showAlpha
|
|
}
|
|
}
|
|
|
|
material penta_showalpha
|
|
{
|
|
sort postprocess
|
|
translucent
|
|
{
|
|
program postprocess/showAlpha
|
|
}
|
|
}
|
|
|
|
material penta/showdepth
|
|
{
|
|
{
|
|
//blend GL_SRC_ALPHA, GL_ZERO
|
|
vertexProgram post_showdepth.cg
|
|
fragmentProgram post_showdepth.cg
|
|
vertexParmBinding 0 currentRenderPow2Correction
|
|
fragmentParmBinding 1 proj2View
|
|
fragmentParmBinding 2 pos2View
|
|
fragmentMap 0 _currentDepth
|
|
fragmentMap 1 _currentRender
|
|
//map _currentDepth
|
|
}
|
|
sort postprocess
|
|
}
|
|
|
|
material penta/noglare
|
|
{
|
|
{
|
|
//blend GL_ZERO, GL_SRC_ALPHA
|
|
maskColor
|
|
maskDepth
|
|
map _default
|
|
//alpha 0.1
|
|
}
|
|
|
|
translucent
|
|
}
|
|
|
|
material system/noglare
|
|
{
|
|
sort postprocess
|
|
{
|
|
blend GL_ZERO, GL_SRC_ALPHA
|
|
maskColor
|
|
alpha 0.1
|
|
map _default
|
|
}
|
|
|
|
translucent
|
|
}
|
|
|
|
material penta/grasstest {
|
|
twoSided
|
|
{
|
|
blend diffusemap
|
|
map textures/foliage/greengrass001_d.tga
|
|
//scale 0.125, -0.25
|
|
alphaTest 0.5
|
|
}
|
|
{
|
|
blend bumpmap
|
|
map textures/foliage/greengrass001_local.tga
|
|
//scale 0.125, -0.25
|
|
}
|
|
}
|
|
|
|
material penta/imposter {
|
|
//noShadow
|
|
//twoSided
|
|
|
|
{
|
|
blend diffusemap
|
|
map models/mapobjects/tree/tree_surf_packed.tga
|
|
scale 1, 0.5
|
|
alphaTest 0.5
|
|
}
|
|
//{
|
|
// blend bumpmap
|
|
// map models/mapobjects/tree/tree_surf_packed.tga
|
|
//scale 1, 0.5
|
|
//translate 0, 1
|
|
//}
|
|
}
|
|
|
|
|
|
material penta/raintest {
|
|
{
|
|
blend add
|
|
rotate 180
|
|
map textures/particles/raintest.tga
|
|
maskalpha
|
|
}
|
|
|
|
}
|
|
|
|
material penta/test_1 {
|
|
|
|
//discrete
|
|
//noshadows
|
|
//twosided
|
|
//diffusemap _black
|
|
nonsolid
|
|
|
|
{
|
|
//blend blend
|
|
vertexProgram water.vfp
|
|
fragmentProgram water.vfp
|
|
vertexParmBinding 0 mvptMatrix_0
|
|
vertexParmBinding 1 mvptMatrix_1
|
|
vertexParmBinding 2 mvptMatrix_2
|
|
vertexParmBinding 3 mvptMatrix_3
|
|
vertexParmBinding 4 viewOrigin
|
|
vertexParmBinding 5 currentRenderPow2Correction
|
|
vertexParm 6 time * 0.05
|
|
fragmentMap 0 mirrorRender
|
|
fragmentMap 1 textures/penta/watertest.tga
|
|
fragmentMap 2 _currentRender
|
|
maskalpha
|
|
}
|
|
}
|
|
|
|
material penta/test_2 {
|
|
|
|
//discrete
|
|
//noshadows
|
|
//twosided
|
|
//diffusemap _black
|
|
|
|
{
|
|
//blend blend
|
|
vertexProgram water_cube.vfp
|
|
fragmentProgram water_cube.vfp
|
|
vertexParmBinding 0 mvptMatrix_0
|
|
vertexParmBinding 1 mvptMatrix_1
|
|
vertexParmBinding 2 mvptMatrix_2
|
|
vertexParmBinding 3 mvptMatrix_3
|
|
vertexParmBinding 4 viewOrigin
|
|
vertexParmBinding 5 currentRenderPow2Correction
|
|
vertexParm 6 time * 0.1
|
|
fragmentMap 0 cubeMap env/watertest
|
|
fragmentMap 1 textures/penta/watertest.tga
|
|
fragmentMap 2 _currentRender
|
|
maskalpha
|
|
}
|
|
}
|
|
|
|
material penta/watertest {
|
|
nonsolid
|
|
{
|
|
useTemplate material/water_reflect<
|
|
"textures/penta/watertest.tga",
|
|
"time * 0.05",
|
|
"0",
|
|
"0.6",
|
|
"0.7",
|
|
"0.7",
|
|
"0.04",
|
|
"6"
|
|
>
|
|
|
|
}
|
|
}
|
|
|
|
material penta/watertest_old {
|
|
|
|
//discrete
|
|
//noshadows
|
|
//twosided
|
|
//diffusemap _black
|
|
nonsolid
|
|
|
|
{
|
|
//blend blend
|
|
vertexProgram water/gerstner_reflect.vfp
|
|
fragmentProgram water/gerstner_reflect.vfp
|
|
vertexParmBinding 0 mvptMatrix_0
|
|
vertexParmBinding 1 mvptMatrix_1
|
|
vertexParmBinding 2 mvptMatrix_2
|
|
vertexParmBinding 3 mvptMatrix_3
|
|
vertexParmBinding 4 viewOrigin
|
|
vertexParmBinding 5 currentRenderPow2Correction
|
|
vertexParm 6 time * 0.05, time * 0.1, time * 0.03, time * 0.07
|
|
|
|
vertexParmBinding 7 waveDirX
|
|
vertexParmBinding 8 waveDirY
|
|
vertexParmBinding 9 wavePhase
|
|
vertexParmBinding 10 waveFrequency
|
|
vertexParmBinding 11 waveAmplitude
|
|
vertexParmBinding 12 waveDirXQ
|
|
vertexParmBinding 13 waveDirYQ
|
|
vertexParmBinding 14 waveDirXXQW
|
|
vertexParmBinding 15 waveDirYYQW
|
|
vertexParmBinding 16 waveDirXYQW
|
|
vertexParmBinding 17 waveDirXW
|
|
vertexParmBinding 18 waveDirYW
|
|
vertexParmBinding 19 waveQW
|
|
|
|
|
|
fragmentParm 0 1
|
|
fragmentParm 1 0.5, 0.7, 0.3, 1
|
|
fragmentParm 2 0.05, 0.05, 0, 0
|
|
|
|
fragmentMap 0 mirrorRender
|
|
fragmentMap 1 textures/penta/watertest.tga
|
|
fragmentMap 2 _currentRender
|
|
//maskalpha
|
|
}
|
|
//sort earlyPostProcess
|
|
translucent
|
|
}
|
|
|
|
material penta/lightbeam {
|
|
{
|
|
map textures/penta/lightbeam.tga
|
|
blend add
|
|
//color parm0, parm1, parm2, 1
|
|
rgb 0.5
|
|
alpha 0.7
|
|
//maskcolor
|
|
}
|
|
}
|
|
|
|
material penta/litsmoke {
|
|
|
|
|
|
translucent
|
|
discrete
|
|
nonsolid
|
|
noimpact
|
|
{
|
|
blend blend
|
|
maskAlpha
|
|
map _white
|
|
}
|
|
|
|
|
|
}
|
|
|
|
material penta/flame_ember01
|
|
{
|
|
//sort 2
|
|
//noAtmosphere
|
|
qer_editorimage textures/particles/flash/ember_mid.tga
|
|
{
|
|
blend add
|
|
color 0.5, 0.5, 0.5, 0.5
|
|
map clamp textures/particles/flash/ember_mid.tga
|
|
//alpha 0
|
|
maskalpha
|
|
vertexcolor
|
|
}
|
|
}
|
|
|
|
material penta/flame_ember01_burn
|
|
{
|
|
//sort 2
|
|
//noAtmosphere
|
|
qer_editorimage textures/particles/flash/ember_mid.tga
|
|
{
|
|
blend GL_ZERO, GL_ONE_MINUS_SRC_COLOR
|
|
map clamp textures/particles/flash/ember_mid.tga
|
|
maskalpha
|
|
vertexcolor
|
|
}
|
|
}
|
|
|
|
material penta/depthsprites
|
|
{
|
|
qer_editorimage models/penta/sphere_depth.tga
|
|
{
|
|
blend blend
|
|
program depth_sprite.cg
|
|
vertexParm 0 120
|
|
fragmentMap 0 textures/particles/barrelpoof.tga
|
|
fragmentMap 2 makealpha(textures/particles/barrelpoof.tga)
|
|
|
|
translate time, 5
|
|
}
|
|
|
|
translucent
|
|
}
|
|
|
|
|
|
material penta/debris_ember
|
|
{
|
|
{
|
|
blend blend
|
|
map clamp textures/particles/debris/debris1.tga
|
|
vertexcolor
|
|
rotate time * 3
|
|
}
|
|
}
|
|
|
|
material penta/debris_smoke
|
|
{
|
|
twoSided
|
|
{
|
|
blend add
|
|
map textures/particles/flash/flameball01.tga
|
|
vertexcolor
|
|
}
|
|
{
|
|
blend blend
|
|
map makealpha(textures/particles/barrelpoof.tga)
|
|
vertexcolor
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
material penta/generic_smoke
|
|
{
|
|
{
|
|
blend blend
|
|
vertexcolor
|
|
map textures/particles/barrelpoof.tga
|
|
}
|
|
}
|
|
|
|
material penta/smoke_trail
|
|
{
|
|
twosided
|
|
|
|
{
|
|
blend blend
|
|
vertexcolor
|
|
map makealpha(textures/particles/smoke/smoke_trail02.tga)
|
|
}
|
|
{
|
|
blend add
|
|
vertexcolor
|
|
map textures/particles/smoke/flame_trail02.tga
|
|
}
|
|
}
|
|
|
|
material penta/black_hole
|
|
{
|
|
twosided
|
|
|
|
{
|
|
vertexProgram heatHaze.vfp
|
|
vertexParm 0 0 , 0
|
|
vertexParm 1 20 // magnitude of the distortion
|
|
fragmentProgram heatHaze.vfp
|
|
fragmentMap 0 _currentRender
|
|
fragmentMap 1 textures/particles/blackhole_local.tga
|
|
maskAlpha
|
|
}
|
|
/*{
|
|
blend filter
|
|
map textures/particles/blackhole_filter.tga
|
|
rotate time * -2
|
|
clamp
|
|
}*/
|
|
{
|
|
blend add
|
|
map textures/particles/blackhole_luma.tga
|
|
rotate time * 3
|
|
zeroclamp
|
|
}
|
|
}
|
|
|
|
material penta/railgun_spark2
|
|
{
|
|
twosided
|
|
{
|
|
blend add
|
|
map textures/particles/vpring1_alpha.tga
|
|
zeroclamp
|
|
vertexcolor
|
|
}
|
|
}
|
|
|
|
material penta/railgun_bolt3
|
|
{
|
|
twosided
|
|
{
|
|
vertexProgram heatHaze.vfp
|
|
vertexParm 0 0 , 0
|
|
vertexParm 1 20 // magnitude of the distortion
|
|
fragmentProgram heatHaze.vfp
|
|
fragmentMap 0 _currentRender
|
|
fragmentMap 1 textures/particles/railslug_local.tga
|
|
maskAlpha
|
|
}
|
|
/*{
|
|
blend filter
|
|
map textures/particles/railslug_filter.tga
|
|
clamp
|
|
}*/
|
|
/*{
|
|
blend add
|
|
maskalpha
|
|
map textures/effects/weapons/muzzleflash_s2a.tga
|
|
vertexcolor
|
|
scale -1, 1
|
|
useTemplate templates/materials/animate< 8, 0.05 >
|
|
}*/
|
|
}
|
|
|
|
material penta/railgun_trail
|
|
{
|
|
twosided
|
|
{
|
|
blend add
|
|
map textures/particles/railslug_trail.tga
|
|
clamp
|
|
vertexcolor
|
|
}
|
|
}
|
|
|
|
material penta/bolt
|
|
{
|
|
//twosided
|
|
/*{
|
|
blend blend
|
|
//maskalpha
|
|
//vertexprogram plasma.cg
|
|
//fragmentprogram plasma.cg
|
|
|
|
//fragmentMap 0 textures/sfx/noise.tga
|
|
//fragmentMap 2 clamp textures/sfx/plasmalookup2.tga
|
|
|
|
//vertexParm 0 time
|
|
//fragmentParm 0 time
|
|
|
|
map textures/sfx/plasmabolt.tga
|
|
}*/
|
|
}
|
|
|
|
material particles/penta/landfallheathaze {
|
|
noshadows
|
|
translucent
|
|
nonsolid
|
|
sort postprocess
|
|
/*{
|
|
vertexProgram heatHazeWithVertex.vfp
|
|
vertexParm 0 0 , 0
|
|
vertexParm 1 10 // magnitude of the distortion
|
|
fragmentProgram heatHazeWithVertex.vfp
|
|
fragmentMap 0 _currentRender
|
|
fragmentMap 1 textures/particles/smoke/smokenormal.tga
|
|
maskAlpha
|
|
}*/
|
|
/*{
|
|
map _white
|
|
vertexcolor
|
|
}*/
|
|
}
|
|
|
|
material particles/penta/landfallflame2
|
|
{
|
|
noAtmosphere
|
|
qer_editorimage textures/particles/flash/ember_mid.tga
|
|
{
|
|
blend add
|
|
color 0.5, 0.5, 0.5, 0.5
|
|
map clamp textures/particles/flash/ember_mid.tga
|
|
|
|
maskalpha
|
|
vertexcolor
|
|
//useTemplate templates/materials/animate_rows< 16, 2, 1>
|
|
}
|
|
}
|
|
|
|
material penta/flash {
|
|
{
|
|
|
|
blend add
|
|
vertexcolor
|
|
map textures/particles/vpring1_alpha.tga
|
|
//maskalpha
|
|
alpha 0.01
|
|
}
|
|
}
|
|
|
|
material penta/halo {
|
|
{
|
|
blend add
|
|
vertexcolor
|
|
map textures/particles/halo.tga
|
|
maskalpha
|
|
}
|
|
}
|
|
|
|
material penta/halo2 {
|
|
qer_editorimage textures/particles/halo.tga
|
|
{
|
|
blend add
|
|
vertexcolor
|
|
map textures/particles/halo.tga
|
|
}
|
|
}
|
|
|
|
material penta/landfall_cloud {
|
|
qer_editorimage textures/particles/smoke/smokepuff.tga
|
|
{
|
|
blend blend
|
|
map makealpha( textures/particles/smoke/smokepuff.tga )
|
|
vertexcolor
|
|
}
|
|
}
|
|
|
|
material penta/landtile {
|
|
//bumpmap _flat
|
|
{
|
|
map commandmaps/canyon.tga
|
|
red sun_r
|
|
green sun_g
|
|
blue sun_b
|
|
}
|
|
}
|
|
|
|
material penta/frametest {
|
|
{
|
|
map textures/penta/frametest.tga
|
|
vertexcolor
|
|
blend blend
|
|
}
|
|
}
|
|
|
|
material penta/raindrop {
|
|
{
|
|
blend blend
|
|
cullFace none
|
|
map alphazeroclamp textures/particles/raindrop.tga
|
|
|
|
}
|
|
}
|
|
|
|
|
|
material penta/raindrop2 {
|
|
qer_editorimage textures/particles/raindrop2.tga
|
|
nonsolid
|
|
sort refraction
|
|
translucent
|
|
forceAtmosphere
|
|
backSide penta/raindrop2
|
|
|
|
{
|
|
program water/simple_cube_alpha
|
|
diffuseMap alphazeroclamp textures/particles/raindrop2.tga
|
|
bumpMap alphazeroclamp textures/particles/raindrop2_local.tga
|
|
map clamp highquality textures/penta/specular.tga
|
|
environmentCubeMap cubemap env/valley
|
|
water_tint 1, 1, 1
|
|
water_distortion 1, 0.1, 1, 0
|
|
water_fresnel 20
|
|
water_glare 1
|
|
water_offset 0, 0, 0, 0
|
|
water_desat 0.7
|
|
}
|
|
}
|
|
|
|
material penta/snowflake {
|
|
{
|
|
blend blend
|
|
map alphazeroclamp textures/particles/snowflake.tga
|
|
}
|
|
}
|
|
|
|
material penta/snowflake2 {
|
|
{
|
|
blend blend
|
|
map alphazeroclamp textures/particles/snowflake2.tga
|
|
}
|
|
}
|
|
|
|
material penta/snowflake3 {
|
|
{
|
|
blend blend
|
|
map alphazeroclamp textures/particles/snowflake3.tga
|
|
}
|
|
}
|
|
template simpleHeatMaterial {
|
|
parameters <
|
|
temperature,
|
|
noisescale
|
|
>
|
|
|
|
text {
|
|
noatmosphere
|
|
{
|
|
//program heatsight/simple
|
|
//parameters temperature, noisescale
|
|
map _white
|
|
rgb temperature
|
|
}
|
|
}
|
|
}
|
|
|
|
material penta/heat_sight
|
|
{
|
|
useTemplate simpleHeatMaterial< 1.5, 0.01 >
|
|
}
|
|
|
|
material penta/heat_sight_test
|
|
{
|
|
{
|
|
//blend blend
|
|
map textures/base_wall/darkconcrete_b.tga
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
material penta/heat_sight_atmosphere
|
|
{
|
|
{
|
|
program heatsight/atmosphere
|
|
}
|
|
}
|
|
|
|
material penta/fade_edge_test {
|
|
{
|
|
blend add
|
|
program trivialEdgeFade
|
|
map textures/penta/oceangradient.tga
|
|
}
|
|
}
|
|
/*
|
|
material penta/softtest {
|
|
{
|
|
blend blend
|
|
program soft_particles
|
|
map makealpha (textures/particles/dustcloud_02.tga)
|
|
mask _currentDepth
|
|
vertexcolor
|
|
}
|
|
}
|
|
*/
|
|
|
|
material penta/inverse {
|
|
{
|
|
program sfx/maskedInvert
|
|
blend GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA
|
|
map makealpha (textures/particles/dustcloud_02.tga)
|
|
maskalpha
|
|
vertexcolor
|
|
}
|
|
} |