14.04.2013 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!