SceneGen

SceneGen é um engine 3D experimental desenvolvido para fins de estudo voltado aos gráficos 3D para as recentes gerações de GPU, com suporte ao shader model 2.0. Permite a criação de cenas com alto nível de detalhes na iluminação.

O motor foi todo programado em C++ e especialmente desenvolvido no formato de framework, trabalhando com um sistema de plugins de “profiles” para renderização e possui 6 profiles distintos:

1. Iluminação (difusa e especular) por vértices sem sombras: profile  recomendado para placas de vídeo bem antigas, como a Vodoo, TNT, etc.

2. Iluminação (difusa e especular) por vértices e sombras em tempo real*: recomendado para placas de vídeo como a Geforce 4 MX 440 ou Radeon 9200, que possuem um desempenho razoavel.

3. Iluminação por pixel** com ou sem sombras em tempo real*: utiliza o ps_1_1, e pode rodar a partir da Geforce 3ti e Radeon 9000.

4. Iluminação por pixel** com ou sem sombras em tempo real* e parallax mapping: utiliza ps_1_4 e pode rodar a partir da Geforce FX ou Radeon 9600.

5. Deferred Shading: iluminação 100% à nível de pixel com alta qualidade em luz difusa e especular e com performance exelente para as placas de video que possuem suporte a ps_2_0 e Multiple Render Targets (MRT).

6. Deferred Shading com softshadows: iluminação 100% à nível de pixel com alta qualidade em luz difusa e especular e com performance exelente para as placas de video que possuem suporte a ps_2_0 e Multiple Render Targets (MRT).

*As sombras do SceneGen utilizam o modo “sombra de tudo em tudo”, o mesmo utilizado em motores como o do Doom 3.
**Iluminação difusa 100% por pixel e especular por vértice com glossing por pixel e atenuação por vértice, devido as limitações do shader model 1.0.

O SceneGen possui um próprio sistema de materiais com uma linguagem própria e muito fácil que pode tratar de diversas propriedades dos meshes e malhas como cor difusa e especular, bump map, particulas, animação (deformação da vértices) e mais.

O framework 3D base desenvolvido especialmente para o SceneGen de forma modular para suportar a implementação em qualquer API gráfica além do Direct3D 9, permite a troca de profiles em tempo de execução e sem comprometer o andamento do programa ou jogo.

O SceneGen também possui:
-Física e detecção colisão dinâmica e em tempo real
-Cubemapping
-Efeito glow
-Sistema de partículas com diversas opções e formas de blending

Screenshots de janeiro de 2005:

Screenshots de maio de 2008:

Downloads
-Código fonte (liberado sob licença GPL)
-Demo interativo (tech demo)

Os modelos mostrados como decoração dos mapas nos screenshots foram todos feitos no 3D Studio Max por Arthur Santee.