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.

Una forma <strong>de</strong> implementar imposters involucra el preren<strong>de</strong>rizado <strong>de</strong> una imagen o conjunto <strong>de</strong> imágenes que<br />

representan al objeto. Los principales <strong>de</strong>safíos se encuentran cuando lidiamos con los cambios <strong>de</strong> apariencia <strong>de</strong>l<br />

objeto <strong>de</strong>bido a cambios en el punto <strong>de</strong> vista <strong>de</strong> <strong>la</strong> cámara y también con <strong>la</strong>s animaciones <strong>de</strong> los objetos.<br />

Po<strong>de</strong>mos simplificar el problema <strong>de</strong>l cambio <strong>de</strong>l punto <strong>de</strong> vista ren<strong>de</strong>rizando al objeto entre cuatro y dieciséis veces<br />

alre<strong>de</strong>dor <strong>de</strong>l eje Y. Lo cual es a<strong>de</strong>cuado si usamos imposters principalmente para ren<strong>de</strong>rizado <strong>de</strong> objetos distantes y<br />

verticales como árboles en un terreno. En tiempo <strong>de</strong> ren<strong>de</strong>rizado el motor <strong>de</strong>termina el ángulo entre <strong>la</strong> cámara y el<br />

objeto y selecciona <strong>la</strong> textura correcta para usar como imposter. Si el visor cambia <strong>de</strong> posición <strong>de</strong> manera que ve al<br />

objeto <strong>de</strong>s<strong>de</strong> un ángulo significativamente alto o bajo, esto es <strong>de</strong>s<strong>de</strong> arriba o <strong>de</strong>s<strong>de</strong> abajo, <strong>de</strong>bemos utilizar <strong>la</strong><br />

versión geométrica. Por supuesto que es posible expandir este esquema a tres ejes.<br />

La animación <strong>de</strong>l objeto presenta un gran problema. El costo <strong>de</strong> ren<strong>de</strong>rizar múltiples ángulos y múltiples cuadros <strong>de</strong><br />

<strong>la</strong> animación hacen al esquema prohibitivo en muchos casos. Por esta razón, se suele optar cuando es posible por un<br />

conjunto <strong>de</strong> animaciones restrictivas para imposters, o restringir ciertas animaciones a ciertos ángulos fijos.<br />

Las texturas 3D o volume textures proveen un tercer eje <strong>de</strong> información que pue<strong>de</strong> ser usado para almacenar<br />

múltiples ángulos para un imposter. Pero más importante aún, estas texturas se pue<strong>de</strong>n beneficiar por el mezc<strong>la</strong>do<br />

(blending) entre cuadros, el cual es asistido por hardware. En tiempo <strong>de</strong> ejecución, en vez <strong>de</strong> seleccionar un cuadro<br />

basado en el ángulo <strong>de</strong> visión calcu<strong>la</strong>mos una coor<strong>de</strong>nada <strong>de</strong> textura w que mezc<strong>la</strong>ra linealmente los dos cuadros<br />

más cercanos en <strong>la</strong> textura 3D. A<strong>de</strong>más, si ren<strong>de</strong>rizamos varios imposters <strong>de</strong>l mismo tipo po<strong>de</strong>mos evitar cambios en<br />

los registros <strong>de</strong> estado <strong>de</strong> <strong>la</strong> textura, cambios que serían requeridos si cada cuadro está almacenado en una textura<br />

2D. Por último, también nos po<strong>de</strong>mos beneficiar por <strong>la</strong>s técnicas <strong>de</strong> compresión <strong>de</strong> <strong>la</strong>s texturas 3D.<br />

Otra técnica que po<strong>de</strong>mos utilizar consiste en ren<strong>de</strong>rizar a una textura en tiempo real una versión <strong>de</strong>l mo<strong>de</strong>lo con<br />

nivel <strong>de</strong> <strong>de</strong>talle re<strong>la</strong>tivamente bajo. Textura que reusaremos un número <strong>de</strong> cuadros. Este método tiene <strong>la</strong> habilidad<br />

<strong>de</strong> generar una imagen <strong>de</strong>l mo<strong>de</strong>lo sin restringir el ángulo <strong>de</strong> visión o <strong>la</strong> animación <strong>de</strong>l mismo. También usa menos<br />

memoria, dado que no <strong>de</strong>dica almacenamiento a sprites que no son usadas activamente. Desafortunadamente, este<br />

esquema solo pue<strong>de</strong> incrementar el rendimiento si <strong>la</strong> imagen resultante es usada en varios cuadros, lo cual no<br />

siempre es posible.<br />

Imagen <strong>de</strong>l CryEngine 2. Los árboles alejados se ren<strong>de</strong>rizan usando billboards<br />

Página 87

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

Saved successfully!

Ooh no, something went wrong!