Moteur 3d en c++ avec directx 8.1 (gestion souris, clavier, son)

Soyez le premier à donner votre avis sur cette source.

Vue 10 263 fois - Téléchargée 1 392 fois

Description

J'ai recemment abandonné l'assembleur sur ti89 pour me lancer dans le C++ sur PC, donc j'ai deja de bonnes notions de programmation.
J'ai été tres surpris de voir a quel point il est facile de faire quelque chose de potable en peu de temps avec DirectX.

Voici mon premier programme en C++ avec Direct3D 8.1.
Vous remarquerez que certains passages ont été repris des exemples que j'ai pu trouver, mais je suis parti d'un projet totalement vide (mon programme n'est pas une source que j'ai modifier, seulement quelques copier-coller :-) ).

Les sources seront sans doute tres utiles pour les debutants qui cherchent les routines d'initialisation de Direct3D, DirectSound, DirectInput, ou comment activer le plein ecran; j'ai moi-meme pas mal galerer pour les trouver et encore plus pour que les linking se deroulent bien.

Il existe de nombreux bugs:

-si vous appuyer sur ALT-TAB, vous devrez faire un CTRL-ALT-SUPPR pour quitter le processus (c'est a cause du plein ecran mais je ne sais pas comment resoudre ce probleme, ni ceux qui suivent d'ailleurs...).

-Bien que sur mon PC le prog tourne a 300 FPS, lorsqu'on tourne autour d'un cube (strafe + souris), le rendu est laid. La souris n'est peut-etre pas assez precise.

-S'il manque un fichier *.bmp ou *.wav, une erreur a la fermeture est inevitable.

ATTENTION: je n'ai pas inclu les fichiers son (trop volumineux) et j'ai mis en commentaire tout ce qui permet de les charger et de les jouer.
Tel quel, le programme se compile bien et se lance bien.

Merci de dire ce que vous pensez de ces debuts et si possoble de m'aider.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
921
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
23 septembre 2010

Déjà, c'est assez bien fait.... Bon c'est vrai qu'une fois un moteur 3D programmé sur 68K passer sur un PC ça doit paraître franchement désobligeant (personnellement j'ai fait un RayTracer en Basic sur TI92+ mais je l'ai jamais balancé sur le Net, on devinera pourquoi...), mais bon... franchement c'est bien fait...
Le prog doit tourner sur ma machine aux alentours de 600 Fps, je sais pas trop, parce que l'animation est vraiment rapide.
Le bug de Alt-Tab... C'est vrai que c'est un peu gênant, je saurais pas te dire quoi faire vu que ça fait qu'une semaine que je fais du C++ (encore du VB ça va, mais là) :) Tu devrais demander à un certain Geff, il m'avais plutot aidé dans mes projets de moteurs 3D, il saura sûrement te dire. En tout cas, ton programme est fonctionnel, >9/10
Saros
Messages postés
1267
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
28 février 2007
3
Moi j'utilise FMOD (http://www.fmod.org, tutoriaux très bien faits à http://fmod.apinc.org/) qui est très simple d'utilsation et gratuite (et portable mais tu t'en fous vu DirectX ;)).
J'ai fait un jeu avec cppdupdup34 qui l'utilise et ça marche très bien à http://www.cppfrance.com/code.aspx?ID=11026 si tu veux un exemple ;)
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
pourquoi tu utilise pas sndSoundPlay, c'est plus simple
Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008

J'avais deja posté un message (sans reponse, sniff.. ) a propos du son dans ce programme:
En fait, lorsque qu'on clique sur le bouton gauche de la souris, un bruit de tir d'une kalashikov est lancé.
Le son est prealablement chargé dans un buffer et la lecture est lancé au moment opportun.
Mais, il existe un temps assez aleatoire et genant entre le moment ou l'ordre de la lecture est donné et celui du debut de la lecture.
Cette difference de temps grandit avec la durée de deroulement du programme.
Avez-vous eu deja le meme probleme ?
Les routines de son sont presentes dans le code source, seules la destruction, la creation, le chargement et le lancement des sons sont mis en commentaires.


Sinon, pour le probleme de la souris, j'ai joué a Hitman2 où la souris est bien plus precise.
Messages postés
1267
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
28 février 2007
3
Ben je savais pas qu'il y avait plusieurs moteurs 3D pour TI89 :)
Tu sais, tu peux toujours le continuer en même temps que la prog PC ;)
yAronet est un super forum ! Y'a même un gars qui écrit un autre compilo C que TI-GCC il me semble :)

Pour l'API Win32, tu l'as déjà utilisée en fait lol, c'est toutes les fonctions qui sont déclarées dans windows.h (et windowsx.h éventuellement).
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.