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
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