Untitled - Departamento de Ciencias e Ingeniería de la Computación
Untitled - Departamento de Ciencias e Ingeniería de la Computación
Untitled - Departamento de Ciencias e Ingeniería de la Computación
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Matrix[3]. Dado que el resultado es un vector podríamos acce<strong>de</strong>r a un componente especifica usando Matrix[3].x o<br />
Matrix[3][0].<br />
Los componentes <strong>de</strong> una matriz también pue<strong>de</strong>n acce<strong>de</strong>rse usando alguna <strong>de</strong> <strong>la</strong>s siguientes dos notaciones:<br />
1-based:<br />
_11 _12 _13 _14<br />
_21 _22 _23 _24<br />
_31 _32 _33 _34<br />
_41 _42 _43 _44<br />
0-based:<br />
_m00 _m01 _m02 _m03<br />
_m10 _m11 _m12 _m13<br />
_m20 _m21 _m22 _m23<br />
_m30 _m31 _m32 _m33<br />
Las matrices, al igual que los vectores, permiten el acceso tipo swizzle. Por ejemplo: Matrix._m01_m02_m03_04.<br />
Como es <strong>de</strong> suponer, tampoco podremos usar <strong>la</strong>s dos notaciones a <strong>la</strong> vez. Por ejemplo: Matrix._m01_11 no es<br />
permitido.<br />
Estructuras<br />
Las estructuras, al igual que en C, son tipos compuestos usados para agrupar variables comunes en una única<br />
entidad. Las estructuras se <strong>de</strong>c<strong>la</strong>ran y se usan usando <strong>la</strong> siguiente sintaxis:<br />
Dec<strong>la</strong>ración <strong>de</strong>l tipo estructura:<br />
struct [ID] {miembros}<br />
Uso:<br />
ID.miembro<br />
Ejemplo:<br />
struct Circulo // Defino <strong>la</strong> estructura circulo<br />
{<br />
float4 Posicion;<br />
float Radio;<br />
};<br />
Circulo MiCirculo; // Dec<strong>la</strong>ro una variable <strong>de</strong> tipo circulo<br />
MiCirculo.Radio = 2.0; // Asigno a <strong>la</strong> variable radio <strong>de</strong> <strong>la</strong> estructura MiCirculo el valor 2<br />
Samplers<br />
Por cada textura que <strong>de</strong>seamos usar en un pixel sha<strong>de</strong>r se <strong>de</strong>be <strong>de</strong>c<strong>la</strong>rar un sampler. Un sampler es responsable <strong>de</strong><br />
indicar que textura se usara, y que filtrados y direccionamientos se le aplicara a dicha textura.<br />
Página 49