moteur 2d à la Doom

moteur 2d à la Doom - C++ - Programmation

Marsh Posté le 23-12-2005 à 18:23:18    

Bonjour :)
 
J'essaie de faire un petit moteur 2d comme Doom, mais j'ai du mal à comprendre 2-3 petits détails. Par exemple, dans ma boucle qui gère le déplacement visuel (quand le perso bouge) c'est à ce moment que je dois rafraîchir l'écran ? Mis à part bien sûr si quelque chose arrive devant le champs visuel du perso. Mais pour le moment j'essaie juste de faire un petit labyrinthe avec des murs bien simple et de pouvoir bouger dedans, sans détection de collision, on peut donc passer au travers.
 
Mais je ne comprends pas comment faire l'algo qui bouge tout ce que je vois à l'écran vers l'arrière si mon perso avance, par exemple. sous gl c'est plus simple il suffit de bouger la caméra et la 3d est géré, mais bon je commences petit et j'aimerais comprendre le principe de Doom, j'ai regardé le source mais il y a beaucoup de fichiers et je m'y perd :/
 
Dailleurs, comment doit-on faire pour "dessiner" un mur en angle ? je dois utiliser gdi32 ?
 
Merci :)

Reply

Marsh Posté le 23-12-2005 à 18:23:18   

Reply

Marsh Posté le 23-12-2005 à 18:39:18    

Fais des recherches sur raycasting.

Reply

Marsh Posté le 23-12-2005 à 18:40:06    

doom, c'est du ray casting
http://www.permadi.com/tutorial/raycast/


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 23-12-2005 à 19:07:18    

Merci :)

Reply

Marsh Posté le 23-12-2005 à 20:21:48    

Hmm, j'ai lu 2 tutoriels, je comprends certains principes, il y a un "lancé" de rayon afin de déterminer si il y a quelque chose ou non dans notre champs de vision, mais je visualise mal en code, comment qu'on "lance" un rayon :/
 
De plus, je me demande toujours qu'est-ce qui déterminer l'angle du dessin du mur qui sera dessiné. J'ai du mal a visualisé ce calcul automatique depuis un "lancé de rayon" puisque dans mon idée, si je veux dessiner un mur d'un certain angle, je vais le dessiner à la main pour qu'il ait l'air d'être "de côté".
 
Ça me prendrait un exemple simple, admettons que j'ai un mour comme ceci:
 
###############
#                          #
#                          #
#                          #
#                          #
#                          #
#                          #
           / (mon angle de vue)
 
 
À partir de là, je me perds :/

Reply

Marsh Posté le 23-12-2005 à 20:57:46    

http://www.vbfrance.com/codes/RAY-CASTING/4505.aspx


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 23-12-2005 à 21:30:35    

Merci :)
 
D'après cette source, ils utilisent bitblt, si je comprends bien on doit développer ses propres algo qui affichent correctement les textures..

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed