home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar 2005 May
/
Gamestar_73_2005-05_dvd.iso
/
Dema
/
IMPERIAL_GLORY
/
data1.cab
/
NewComponent1
/
Data.pak
/
Engine
/
OceanSurface.psh
< prev
next >
Wrap
Text File
|
2005-02-12
|
2KB
|
36 lines
//-----------------------------------------------------------------------------------
// Pixel shader para las superficies oceßnicas
//-----------------------------------------------------------------------------------
// Constantes:
// c0: Color del agua cercana
// (*) CP_OCEAN_COLOR_LIGHT 0
// c1: Color del agua profunda
// (*) CP_OCEAN_COLOR_DARK 1
//-----------------------------------------------------------------------------------
ps.1.1
tex t0 // obtiene la normal de la textura de bump maping
texm3x3pad t1, t0 // transforma normal.x a mundo
texm3x3pad t2, t0 // transforma normal.y a mundo
texm3x3vspec t3, t0 // transforma normal.z a mundo, calcula la reflexi≤n y busca el valor en T3 (env.map)
//-----------------------------------------------------------
// Aplica el factor de margen dinßmico al environment maping
//-----------------------------------------------------------
mul_x4 r0, t3, v1.a
mad r0, t3, v0.a, r0
//------------------------------------------------------------------
// Interpola el color del oceano entre el agua profunda y el color
// suave del agua cercana a partir del color del difiso
// r1 = c0(light) + v0(difuso)*( c1(dark) - c0(light) )
//------------------------------------------------------------------
lrp r1, v0, c1, c0
//---------------------------------------------------------------
// Combina el color del oceano con el del env.map
// r0 = r0(env.map con dyn.range) + r1(color agua interpolada)
//---------------------------------------------------------------
add r0, r0, r1