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
/
ShaderInstancing.vsh
< prev
next >
Wrap
Text File
|
2005-02-12
|
1KB
|
36 lines
//-------------------------------
// File: ShaderInstancing.vsh
// Date: 28/1/2005 [Agre]
//---------------------------------------------------------------------------------------------------------
// Shader-instancing para objetos con formato de vΘrtice XYZUVI
// Soporta paleta de 30 matrices
//
// c0 -> Constantes globales (0.3f, 0.0f, 3.0f, 1.0f)
// [c1], c2, c3, c4 -> Matriz de proyeccion/vista
// [c5], c6, c7 -> matriz de transformaci≤n [paleta 1] 5 + (3 * (i_matriz - 1))
// c8, c9, c10 -> matriz de transformaci≤n [paleta 2]
// c11, c12, c13 -> matriz de transformaci≤n [paleta 3]
// c14, c15, c16 -> matriz de transformaci≤n [paleta 4]
// c17, c18, c19 -> matriz de transformaci≤n [paleta 5]
// c20, c21, c22 -> matriz de transformaci≤n [paleta 6]
// ...
// C89, c90, c91 -> matriz de transformaci≤n [paleta 29]
// c92, c93, c94 -> matriz de transformaci≤n [paleta 30]
//---------------------------------------------------------------------------------------------------------
vs.1.1
dcl_position v0
dcl_texcoord v1
dcl_blendindices v3
mov r0.x, v3.x
mul r0.x, r0.x, c0.z // c0.z = 3 (n·mero de vectores por matriz de tranformaci≤n)
mov a0.x, r0.x
m4x3 r0, v0, c[a0.x + 5] // Posici≤n de la paleta de matrices en las constantes
mov r0.w, c0.w
m4x4 r1, r0, c1
mov oPos, r1
mov oT0.xy, v1.xy
mov oD0.xyzw, c0.wwww
mov oFog, c0.w