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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Objeto a esca<strong>la</strong>r Conversión invalida.<br />

Objeto a vector Conversión invalida.<br />

Objeto a matriz Conversión invalida.<br />

Objeto a objeto Este tipo <strong>de</strong> conversión es válida solo si ambos objetos son <strong>de</strong>l mismo tipo.<br />

Objeto a estructura Para que esta conversión sea válida, <strong>la</strong> estructura no <strong>de</strong>be contener más <strong>de</strong> un<br />

miembro. El tipo <strong>de</strong>l miembro <strong>de</strong>be ser idéntico al tipo <strong>de</strong>l objeto.<br />

Estructura a esca<strong>la</strong>r Para que esta conversión sea válida, <strong>la</strong> estructura <strong>de</strong>be contener al menos un<br />

miembro y este miembro <strong>de</strong>be ser numérico.<br />

Estructura a vector Para que esta conversión sea válida, <strong>la</strong> estructura <strong>de</strong>be tener al menos el tamaño <strong>de</strong>l<br />

vector. Y <strong>la</strong>s primeras componentes <strong>de</strong>ben ser numéricas hasta el tamaño <strong>de</strong>l vector.<br />

Estructura a matriz Para que esta conversión sea válida, <strong>la</strong> estructura <strong>de</strong>be tener al menos el tamaño <strong>la</strong><br />

matriz. Y <strong>la</strong>s primeras componentes <strong>de</strong>ben ser numéricas hasta el tamaño <strong>de</strong> <strong>la</strong><br />

matriz.<br />

Estructura a estructura Para que esta conversión sea válida, <strong>la</strong> estructura fuente no <strong>de</strong>be ser más gran<strong>de</strong> que<br />

<strong>la</strong> estructura <strong>de</strong>stino. Y a<strong>de</strong>más, una conversión válida <strong>de</strong>be existir para cada uno <strong>de</strong><br />

los componentes.<br />

Objeto se refiere a tipos como samplers o texturas.<br />

3.3.6 Expresiones, operadores y sentencias<br />

El manejo <strong>de</strong> expresiones, operadores y sentencias en HLSL es muy simi<strong>la</strong>r al <strong>de</strong> C. Al igual que C, HLSL soporta el<br />

concepto <strong>de</strong> bloque <strong>de</strong> sentencias ( { sentencias 1; … sentencias n; } ) en don<strong>de</strong> cada sentencia está compuesta <strong>de</strong><br />

expresiones y operadores.<br />

La siguiente es una lista <strong>de</strong> los operadores disponibles y su significado. No se <strong>de</strong>scribirá como se arman los distintos<br />

tipos <strong>de</strong> sentencias y expresiones, dado que resulta fácil <strong>de</strong> <strong>de</strong>ducir dado el conjunto <strong>de</strong> operadores disponibles.<br />

Operador Uso Significado Asociatividad<br />

() (valor) Sub expresión A izquierda<br />

() id(argumento) L<strong>la</strong>mada a función A izquierda<br />

() tipo(argumento) Constructor <strong>de</strong> tipo A izquierda<br />

[] arreglo[entero] In<strong>de</strong>xación <strong>de</strong> arreglo A izquierda<br />

. estructura.id Selección <strong>de</strong> un miembro A izquierda<br />

. valor.swizzle Swizzle A izquierda<br />

++ variable++ Incremento posfijo (por componente) A izquierda<br />

-- variable-- Decremento posfijo (por componente) A izquierda<br />

++ ++variable Incremento prefijo (por componente) A <strong>de</strong>recha<br />

-- --variable Decremento prefijo (por componente) A <strong>de</strong>recha<br />

! !valor No lógico (por componente) A <strong>de</strong>recha<br />

- -valor Menos unario (por componente) A <strong>de</strong>recha<br />

+ +valor Más unario (por componente) A <strong>de</strong>recha<br />

() (tipo) valor Conversión o cast A <strong>de</strong>recha<br />

* valor * valor Multiplicación (por componente) A izquierda<br />

/ valor / valor División (por componente) A izquierda<br />

Página 55

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

Saved successfully!

Ooh no, something went wrong!