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

Sub-fórum especial para usuários que querem discutir/aprender programação, como as linguagens C/C++/C#, Java, HTML, e por aí vai...
xducke
Mensagens: 87
Registrado em: Sex Jan 15, 2010 4:29 am
Answers: 0
14

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

Mensagem 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
Desk:
Intel Core i7 980X @ 4.25GHz
EVGA X58 SLi Classified
12 GB OCZ 1800 MHz
2x XFX HD 5870 @ 1000/1300
Dell 24WFP 24"

Note:
Alienware M15X // Core i7 740 QM 2.93 GHz // 4 GB DDR3 // 500 GB // GTX 460M // 15.6"
Avatar do usuário
Drak[X]
Mensagens: 816
Registrado em: Sáb Fev 04, 2006 3:16 pm
Answers: 0
18
Localização: São Paulo - Brasil
Contato:

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

Mensagem por Drak[X] »

Coloque os fontes!!!!
Quero tentar compilar no Linux e talvez em C#... :mrgreen:
DOOM é eterno!!!
As informações que temos não é a que desejamos. A informação que desejamos não é a que precisamos. A informação que precisamos não está disponível (John Peers)
xducke
Mensagens: 87
Registrado em: Sex Jan 15, 2010 4:29 am
Answers: 0
14

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

Mensagem 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.
Desk:
Intel Core i7 980X @ 4.25GHz
EVGA X58 SLi Classified
12 GB OCZ 1800 MHz
2x XFX HD 5870 @ 1000/1300
Dell 24WFP 24"

Note:
Alienware M15X // Core i7 740 QM 2.93 GHz // 4 GB DDR3 // 500 GB // GTX 460M // 15.6"
xducke
Mensagens: 87
Registrado em: Sex Jan 15, 2010 4:29 am
Answers: 0
14

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

Mensagem 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!
Desk:
Intel Core i7 980X @ 4.25GHz
EVGA X58 SLi Classified
12 GB OCZ 1800 MHz
2x XFX HD 5870 @ 1000/1300
Dell 24WFP 24"

Note:
Alienware M15X // Core i7 740 QM 2.93 GHz // 4 GB DDR3 // 500 GB // GTX 460M // 15.6"
Avatar do usuário
DU0
Mensagens: 6689
Registrado em: Sáb Abr 01, 2006 6:59 am
Answers: 0
18
Localização: Deimos Lab.
Contato:

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

Mensagem por DU0 »

Se tu liberar tudo a gente comenta :mrgreen:
Jogando atualmente:
Xbox 360: Ninja Gaiden Black
Xbox One: Need for Speed: Hot Pursuit, Yakuza 3
PlayStation 2: Fatal Frame 3: The Tormented
PlayStation 3: RE: The Darkside Chronicles, RE: The Umbrella Chronicles
Nintendo Switch: Phantasy Star, SIFU
xducke
Mensagens: 87
Registrado em: Sex Jan 15, 2010 4:29 am
Answers: 0
14

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

Mensagem por xducke »

Esta liberado ali....







Um executável.
Imagem
Desk:
Intel Core i7 980X @ 4.25GHz
EVGA X58 SLi Classified
12 GB OCZ 1800 MHz
2x XFX HD 5870 @ 1000/1300
Dell 24WFP 24"

Note:
Alienware M15X // Core i7 740 QM 2.93 GHz // 4 GB DDR3 // 500 GB // GTX 460M // 15.6"
Avatar do usuário
DU0
Mensagens: 6689
Registrado em: Sáb Abr 01, 2006 6:59 am
Answers: 0
18
Localização: Deimos Lab.
Contato:

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

Mensagem por DU0 »

Imagem
Jogando atualmente:
Xbox 360: Ninja Gaiden Black
Xbox One: Need for Speed: Hot Pursuit, Yakuza 3
PlayStation 2: Fatal Frame 3: The Tormented
PlayStation 3: RE: The Darkside Chronicles, RE: The Umbrella Chronicles
Nintendo Switch: Phantasy Star, SIFU

Voltar para “Programação”