Página 1 de 1

[C++] true 3D? Allegro 2D? Eu sou retardado?

Enviado: Sáb Jan 29, 2011 10:10 am
por xducke
Retardado here :mesuprised:

Quem disse que Allegro 2D não daria certo para 3D?
Sim, Allegro 2D, nada de AllegroGL ou coisa do tipo.

Ta certo que fica com 1/15 da performance se estivesse sendo feito com OpenGL ou DirectX, mas...

Aqui vou mostrar um pouco como está ficando meu novo projeto. Passei um tempo meio parado com isso, ai um dia peguei aquele outro que eu tinha de Ray-Cast e consegui fazer rodar a 200 fps (ainda que escrevendo pro colunas, se arrumasse isso talvez teria o dobro de performance).

Quando consegui isso pensei em fazer alguma coisa mais elaborada, e tentei fazer esse visualizador de modelos MD2.

Agora em C++, com o código todo orientado...


Imagem

Por enquanto carrega apenas arquivos MD2, mas vou ver se consigo colocar um mapa no fundo disso sem que fique parecendo slideshow e tambem carregar outros tipos de modelo.

Quem quiser testar, tem o executavel dessa imagem ai pra baixar:

WASD movimenta a camera

http://www.4shared.com/file/Ea761IgM/SoftRender.html

Re: [C++] true 3D? Allegro 2D? Eu sou retardado?

Enviado: Sáb Jan 29, 2011 10:05 pm
por Drak[X]
Coloque os fontes!!!!
Quero tentar compilar no Linux e talvez em C#... :mrgreen:

Re: [C++] true 3D? Allegro 2D? Eu sou retardado?

Enviado: Sáb Jan 29, 2011 10:13 pm
por xducke
Drak[X] escreveu:Coloque os fontes!!!!
Quero tentar compilar no Linux e talvez em C#... :mrgreen:
Quando eu conseguir colocar o cenário (algum level do Quake 1) rodando no fundo e tudo mais eu libero. Até não vou liberar agora porque tem uns códigos de uma dll de matemática minha que ainda preciso ajeitar certinho (pois não vou liberar o código dela, apenas a da parte de rendering).

Certamente com o código do jeito que está agora você iria ter muito trabalho para fazer o port (somei 15k linhas no total, boa parte por conta dos códigos da dll, mas não chega a usar tudo).

Mas você testou? Ficou bom?

Valeu

#edit: E pensando bem, você não iria conseguir portar para C#, porque eu uso C++ em muito baixo nível, e não sei se tem como fazer isso nessa linguagem.

Re: [C++] true 3D? Allegro 2D? Eu sou retardado?

Enviado: Dom Fev 06, 2011 6:33 pm
por xducke
Pessoal, ninguém está comentando, mas vou continuar postando o desenvolvimento, ok?
Caso for contra as regras, podem deletar os posts.


- Reescrevi quase que totalmente a engine;
- Todo o sistema de transformação e projeção foi consertado;
- Movimentação da câmera estilo FPS e funcionando pelo Mouse;
- O Backface culling agora está funcionando perfeitamente;
- Escrita dos BITMAPs feita na mão (com isso consegui chegar a 2500 fps em alguns casos);
- Adicionado suporte a primitivas: consigo desenhar linhas 3D agora (isso ajuda para desenhar os eixos e facilita a localizacao);
- Adicionado animação aos modelos MD2;
- e estou adicionando suporte à mapas BSP 38 (formato do Quake 2), até agora já consegui carregar e desenhar em wire-frame, nada mais que isso :lol: ;

Espero conseguir terminar de carregar/desenhar os mapas do Quake 2 de modo eficiente, assim que conseguir eu posto uma nova versao pra voces.

Aqui a minha engine rodando em wireframe
Imagem
E aqui o mesmo local (tentei pegar mais ou menos igual) no Quake 2
Imagem
Espero que estejam gostando do projeto!!!

Valeu!

Re: [C++] true 3D? Allegro 2D? Eu sou retardado?

Enviado: Dom Fev 06, 2011 7:50 pm
por DU0
Se tu liberar tudo a gente comenta :mrgreen:

Re: [C++] true 3D? Allegro 2D? Eu sou retardado?

Enviado: Dom Fev 06, 2011 8:12 pm
por xducke
Esta liberado ali....







Um executável.
Imagem

Re: [C++] true 3D? Allegro 2D? Eu sou retardado?

Enviado: Dom Fev 06, 2011 8:46 pm
por DU0
Imagem