|
Repasando enlaces, he encontrado este resumen de una charla de Capcom , explicando los detalles del motor de Lost planet, y una explicación de sus herramientas. El artículo original está en japonés, pero existe una completa traducción en beyond3d . Es un poco antiguo, del 2006, pero la arquitectura es la que más se utiliza hoy en día en los grandes motores, y el artículo está ilustrado con buenos diagramas explicativos. El motor está pensado para multitarea, dividiendo los distintos procesos en módulos (grandes bloques como el sistema de render, físicas, etc), loops (pequeños sistemas que no encajan en el resto de módulos) y tareas (pequeñas divisiones de código que se ejecutan en multitarea en cada frame). El motor tiene 2 colas, una para tareas que tienen que ejecutarse de forma ordenada, y otra para tareas que pueden ejecutarse en cualquier orden. Sobre el render, el motor se ejecuta en un hilo independiente, lanzando comandos de pintado, que se ordenan previamente, según material, profundidad, etc. Cada hilo tiene comandos de render que después se "consolidan" en el thread que se dedica a pintar, sumando las colas de todos los hilos del sistema. En el enlace de beyond3D , podéis ver el resto de la presentación.
|