Quickstart Engine
Fornece física através da API JiglibX
Traz uma demo que apresenta diversos efeitos como física e sombras
Tem suporte a partículas
A licença é de código fonte aberto e permite a inclusão da engine num jogo. Entretanto, se feita
mudanças elas devem ser retornadas à comunidade
Principais características
(Retirado de http://quickstartengine.codeplex.com/releases/view/42982)
Arquitetura de engine "limpa"
- Facilita escrever seu próprio jogo usando a engine
- Sistema de mensagem permite que você comunique entre sistemas e outras entidades sem acoplar seu código em maneiras que você não iria querer
- Sistema entidade/componente permite qye você faça seus próprios objetos e os customize muito facilmente.
Engine de terreno
- Recorte (culling) por quad-tree
- splating (Procurar definição) multi-textura
- Mapeamento normal multi-textura
- Suavização e escalonamento
Integração com engine de física
- Usa JibLibX para física
- Implementação de física de espectro (Phantom Physics), permite disparar ações baseadas na entrada/saída de um volume.
- Também implementado disparo de ações no contato e ao não estar mais em contato com uma entidade.
Sistema gráfico
- Permite você criar seus próprios materiais.
- Shaders fáceis de criar e de fazê-los apropriadamente receber os valores de entrada que eles necessitam.
- Implementação de água de olhar realístico
- Reflexões e refrações (tanto acima quanto debaixo da água)
- Detecção de litoral, e "neblina de profundidade de água" (water depth fog)
- Mapeamento de sombra (shadow mapping)
Controlador do personagem
- Guie uma entidade como se ela fosse um jogador controlável.
Desempenho
- recorte do frustum (frustum culling) de todas as entidades
- Execute grandes cenas com muitos objetos em taxas de quadro muito altas
Sistemas de entrada e câmera prontos para ir
- Três tipos de câmera já implementados
- Configurar entrada em seu jogo é muito fácil.
Beta Cell Kit
Tirado de http://www.betacell3d.com/
O que é BetaCell?
BetaCell é um kit de ferramentas (toolkit) projetado para programadores de computação gráfica atingir seus objetivos por abraçar o código NR (Não se Repita) e oferecer uma perspectiva orientada a objeto com padrões de projeto.
O kit de ferramentas encapsula muitas rotinas comuns que são usadas por todo um programa de computação gráfica e define o acesso a elas em uma maneira reusável, isto faz a aplicação organizada e permite aos programadores concentrarem seus esfoços em realizar objetivos mais complexos.
BetaCell é feito para XNA 3.1.
Características principais de BetaCell
Composição de efeito em tempo de execução através do framework de efeito
Se você está perguntando por que você simplesmente não pode adicionar o efeito de iluminação que você já fez ou por que você tem de fazer um efeito de texturização diferente para luzes ponto, direcionais e holoftes (para não mencionar que há duas versões de cada, vértice e pixel) a resposta é porque você não esteve usando BetaCell. Com BetaCell você pode:
- Criar efeitos través de composição ao invés de se repetir ou fazer um pesadelo de manutenção das declarações condicionais
- Criar efeitos na hora, você simplesmente declara que partes você quer juntar
- Criar partes de efeito que você pode usar para construir suas próprias composições
Definições de vértice muito flexíveis
Se você já trabalhou com XNA, você pode já ter notado que você tem duas opções. A primeira é usar o vértice com a maioria das definições e passar muita informação desnecessária para a GPU (o prio que você pode fazer!), a segunda é criar um tipo vértice para cada cenário único e que você tem em sua aplicação, então se você tem um objeto com iluminação pré-calculada, você tem de criar um vértice com posição e cor, mas se você quer ele animado você tem de criar um outro com posição, cor, índice de vértice e peso de vértice, e então você tem textura, normal, binormal, bitangente, etc.
A maneira natural de criar um elemento de vértice é fazer alguma coisa como criarVertice(posicao, cor, indiceVertice, pesoVertice) isto é chamado composição no mundo orientado a objeto e pode ser feito usando BetaCell.
BetaCell favorece composição ao invés de herança, declarações condicionais e código repetido.
Crie conteúdo em Blender
Crie objetos animados em blender e carregue-os em sua aplicação XNA.
Acesso a leitura/escrita em todas as propriedades da malha
Com BetaCell você pode dinamicamente mudar sua malha em tempo de execução, redefinir seu vertex buffer para acomodar mais dados (textura, binormal, etc) e muito mais.
Crie mapas de altura (heightmaps) importando eles de HME
Crie mapas de altura usando HME e carregue eles em sua aplicação. BetaCell pode dividir o mapa em partes para fazer recorte do frustum (frustum culling) de forma efetiva e também organizar as partes em uma ordem de frente para trás antes de desenhar para economizar a taxa de preenchimento (fill rate).
Crie malhas proceduralmente
Você pode criar esferas, cilindros, cubos, mapas de altura e terrenos por especificar o nível de detalhe como o número de fatias na esfera e propriedades como o raio.
Compor sistemas de partícula através do framework de partícula
Componha sistemas de partícula através do framework de partícula. Use partes de efeitos de partícula como aceleração, oscilação, desaparecimento redimensionamente, entre outras, ou crie novos efeitos de partícula e defina um sistema de partícula como a soma destas partes. Você tabém pode definir como suas partículas são emitidas em muitas maneiras diferentes.
Pega de raio embutida
Pegue objetos na cena com o mouse ou dispare em alguns objetos com sua arma favorita, BetaCell tem uma interface simples pela qual você pode intersectar objetos muito facilmente.
Técnicas de texturização avançada
Técnicas de texturização avançada como:
- Mapeamento de normal (Normal mapping)
- Mapeamento ambiental (Environmental mapping)
- Mapeamento de deslocamento (Displacement mapping)
- Mapas de sombra (Shadow Maps)