Últimos Comentarios

Newsflash

ya hemos creado la lista codepixel en googlegroups.com para los que quieran formar parte de la comunidad de la web.

 

 

Polls

Cuantas horas programas al día?
 

Login Form






Lost Password?
No account yet? Register

Quién está online?

We have 1 member online

Syndicate

Inicio
La estructura de un motor gráfico PDF Print E-mail
Written by Javier Loureiro   
Monday, 28 January 2008

Hay partes del mundo de los gráficos que están mejor documentadas que otras. Y creo que la parte de arquitectura de un motor 3D es la parte menos documentada de todas, o al menos, eso puede parecer en un principio.

La arquitectura de un motor 3D es un procedimiento complejo, donde lo normal es cometer grandes fallos diseño, o complicar el desarrollo de forma espectacular. Requiere mucho pragmatismo y experiencia por parte de los diseñadores.

Lo complicado es saber balancear. Eso, dicho de esta forma, suena genial, pero ¿cómo llevarlo a la práctica?. Pues yo creo que la única forma es centrarse profundamente en los requisitos, en qué cosas queremos mostrar por pantalla. Lo normal es que la gente conteste a esta pregunta con un "yo quiero rendearlo todo". Y me ha llevado tiempo el darme cuenta que eso realmente significa "no tengo ni idea de lo que quiero hacer". Porque tod, significa mezclar raytracing con shaders de tarjeta? significa rendear volumétricas y polígonos?

Esta es la parte que nunca se habla en la documentación que podéis encontrar por internet, y es la parte para mí más fundamental en el desarrollo de una aplicación tan compleja. Porque todo es imposible, no es abarcable, y menos para una sola persona. Lo que es posible es rendear un efecto concreto, con una definición de escena concreta y con unos requisitos limitados.

Personalemente, hace tiempo que mi motor personal va evolucionando, y ahora veo que es realmente flexible en muchas partes. Pero eso ha salido a raiz de refactorizar grandes partes del código.

Pero lo que creo que realmente le da a una arquitectura su poder de flexibilidad es en definir las limitaciones y posibilidades del interfaz. Si en vez de centrarnos en diseñar las tripas, deberíamos de perder un tiempo en pensar cómo vamos a definir la escena a rendear (pero no la parte básica, si no todos los atributos que tiene una escena, que son muchísimos). Pongamos el ejemplo de un servidor de correo SMTP, o un gestor de bases de datos SQL. El lenguaje está definido previamente. Y la arquitectura debe de ejecutar ese código lo mejor posible. Pero el SMTP o el SQL no va a cambiar (al menos no derrepente) y son lenguajes sencillos y facilmente testeables. Por eso son protocolos que perduran en el tiempo y los servidores son tan robustos y optimizados.

 Lo mismo debería de hacerse con el motor gráfico: definir perfectamente las estructuras que vamos a tener, y dedicarle un tiempo al parser y a un exportador, antes que meterse en las tripas del render.

  

 

Comentarios
Añadir nuevoBuscar
Escribir comentario
Nombre:
Email:
 
Website:
Título:
Código UBB:
[b] [i] [u] [url] [quote] [code] [img] 
 
Security Image
Por favor introduce el código anti-spam que puedes leer en la imagen.

Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved.



menéameDigg!Del.icio.us!Google!Technorati!Yahoo!
Last Updated ( Monday, 28 January 2008 )
 
< Prev   Next >

Lista de Correo

visita la lista de correo de codepixel. Es una lista abierta, asi que podrás subscribirte y preguntar tus dudas de programación, compartir tus opiniones, aportar ideas, y formar parte de la comunidad codepixelera.

 

Visita la antigua página

Image