Ars Machina
Right now the project is in its initial states, so the page is mainly intended for the developers. There will be something more here as time passes...
Se você está vendo esta página, provavelmente é um desenvolvedor do projeto. Atualmente só algumas notas espalhadas e recomendações para comunicação entre os desenvolvedores, além de links para informações e ferramentas relevantes.
Alguns pontos de pesquisa e trabalho:
-
XML : A idéia é usar xml para formatos de modelos e
mapas. Motivo: parsers para XML existem aos montes e em tudo
quanto é linguagem e ambiente. Sempre que for necessário criar
uma ferramenta para criar ou converter modelos para o formato
do engine, dá para escrever o código que lê o formato em
minutos, enquanto que com um formato "feito para a ocasião" o
problema seria maior. Outra vantagem é que tendo um DTD ou
XMLSchema para o formato em XML, é possível validar um arquivo
imediatamente, usando apenas uma função. Por questões de
performance, estou pensando em ter formatos binários
também. Estou pesquisando APIs para XML em C++ e Python. A
primeira coisa é definir o formato para os modelos...
-
Ferramentas para importação de modelos : Para converter
os modelos usados em programas de modelagem e animação ou
outros jogos (quake, etc) para o formato próprio do engine. Eu
tenho estudado o formato 3ds, usado no 3D Studio antigo e
ainda suportado nas versões atuais do 3dsmax. O flexporter
também me parece uma boa alternativa para o caso do 3dsmax.
- 3D Studio File Format, v0.93 : pelo
que eu observei, este documento contem alguns erros, mas
explica a estrutura do arquivo.
- The Unofficial 3DStudio 3DS File
Format, v1.0 : descreve mais detalhadamente e corretamente
os chunks que podem aparecer em um arquivo 3DS, mas não
explica muito bem como a informação é organizada nos chunks,
por exemplo, qual a ordem específica dos vértices para definir
a direção da normal de uma face.
- Flexporter
- um plugin para 3dsmax (versões 3, 4 e 5) para facilitar a
exportação de modelos e cenas para outros formatos.
-
Aproveitamento das classes Win32 : Eu criei algumas
classes para simplificar a maior parte do tratamento com a API
Win32. Embora o engine em si não precise de muito, as
ferramentas usariam mais intensivamente a API. Mesmo que isso
seja aproveitado, alguns ajustes teriam de ser feitos...
-
Análise e estudo de outros engines 3D : Engines que eu
considero excelentes para servir como referência:
Algumas notas
de outro engine que estou examinando rapidamente
-
Ferramentas (?)
-
Projeto
Ferramentas necessárias
Essas ferramentas são ou serão usadas no desenvolvimento do
engine. Todos os desenvolvedores devem te-las e usa-las.
- WinCVS
- PuTTY
- Doxygen - necessário
apenas para quem vai gerar a documentação, mas é útil ter...
Provavelmente ainda vou incluir a STLPort e algumas partes da Boost aqui.
Andrei de A. Formiga