begin process at 2013 05 22 23:38:10
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

DirectX

 > 2D HARDWARE AVEC DIRECTX 9

2D HARDWARE AVEC DIRECTX 9


 Information sur la source

Note :
8,67 / 10 - par 3 personnes
8,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :DirectX Classé sous :directx, vidéo, sprite, hardware, 2d Niveau :Débutant Date de création :01/01/2005 Date de mise à jour :22/07/2006 14:16:32 Vu / téléchargé :13 532 / 1 567

Auteur : Galmiza

Ecrire un message privé
Site perso
Commentaire sur cette source (17)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Vous voulez faire de la 2D avec DirectX en exploitant à fond votre carte vidéo ? Ce code est pour vous !
Une classe pour le moteur 2D et une classe de sprite.
La classe du moteur 2D permet une manilupation facile des sprites.


 Conclusion

Voila, maintenant plus d'excuse pour ne pas vous lancer dans un RPG ou un mario-like !

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

01 janvier 2005 15:48:23 :
Ajout de l'exe
01 janvier 2005 19:11:24 :
Optimisation de la boucle de rendu.
21 juillet 2006 00:17:05 :
Portage de la source pour compilation avec le SKD de DirectX 9 avril 2006 Modification de l'utilisation de la fonction Draw de la classe sprite de DX Modification de la gestion de la souris
21 juillet 2006 00:27:21 :
Oups, modification du passage des arguments dans la fonction RenderSprite.
22 juillet 2006 14:16:32 :
Rééecriture de la source. Création de classes pour implentation plus facile dans d'autres projets.

 Sources du même auteur

Source avec Zip Source avec une capture COLLISION DE RECTANGLES 2D
Source avec Zip Source avec une capture EXEMPLES D'UTILISATION DES PIXELS SHADERS 2.0 AVEC DIRECTX 9...
Source avec Zip Source avec une capture MOTEUR 3D EN C++ AVEC DIRECTX 8.1 (GESTION SOURIS, CLAVIER, ...

 Sources de la même categorie

Source avec Zip Source avec une capture MP3 DX9 JOUER par f_l_a_s_h_b_a_c_k
Source avec Zip Source avec une capture EQUINOX VISUAL SON METER par f_l_a_s_h_b_a_c_k
Source avec Zip Source avec une capture FLEUR EN DELIRE! par f_l_a_s_h_b_a_c_k
Source avec Zip Source avec une capture DIREXCT X 9 D3D par f_l_a_s_h_b_a_c_k
Source avec Zip BLOP DIRECT X par f_l_a_s_h_b_a_c_k

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture XCOUPE : COUPE 2D par pop70
GÉRER UN COMBAT DANS UN JEU 2D / ALGORITHME PRIMAIRE D'UNE I... par Chiheb2010
Source avec Zip Source avec une capture HIGHWAY SIMULATOR par FrancoisGauthier
Source avec Zip DECOUPAGE DE SPRITES par Jackyzgood
Source avec Zip Source avec une capture MOTEUR 2D DIRECTX9 (+RÉSEAU) par BumpMANN

Commentaires et avis

Commentaire de gimli123 le 01/01/2005 17:14:54

Salut elle est coul ta source ;)
Mais heu j'ai un pb à la compilation :

------ Début de la génération : Projet : Sprite, Configuration : Debug Win32 ------

Compilation...
main.cpp
c:\documents and settings\propriétaire\bureau\cppfrance_source_28545\sprite\main.cpp(198) : error C2660: 'ID3DXSprite::Draw' : la fonction ne prend pas 7 arguments

Le journal de génération a été enregistré à l'emplacement "file://c:\Documents and Settings\Propriétaire\Bureau\cppfrance_source_28545\Sprite\Debug\BuildLog.htm"
Sprite - 1 erreur(s), 0 avertissement(s)

@+++++

Commentaire de Galmiza le 01/01/2005 17:58:28

C'est assez bizarre en effect.

Selectionne "Draw" clique droit dessus puis sur "Go to definition Of Draw". Il y a plusieurs classes qui utilisent une fonction nommée "Draw", mais ça m'étonnerait que le compilateur se plante de fonction (apparement nan d'après le rapport de bug...).

As-tu les bons fichiers headers à inclure ? Il y a peut-être des versions différentes...

Au pire, essaye de mettre un nombre différent de paramètres pour voir ce qu'il accepte comme nombre.

Commentaire de gimli123 le 01/01/2005 18:01:50

Ba chai pas car pourtant j'ai dl le sdk de directx la version summer 2004

Commentaire de gimli123 le 01/01/2005 18:04:52

Ha et au faite c'est quoi cette lib ?
libci.lib
Pour plusieurs sources que j'ai essayer de complier et ba le compilo la trouve pas @++++

Commentaire de Galmiza le 01/01/2005 18:20:46

Désolé, je ne connais pas cette lib.

Dans MSDN il y a:

http://msdn.microsoft.com/library/default.asp?url=/archive/en-us/directx9_c_summer_03/directx/graphics/reference/d3dx/interfaces/id3dxsprite/draw.asp

et

http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c/directx/graphics/reference/d3dx/interfaces/id3dxsprite/draw.asp

Donc nos 2 versions de DX sont différentes.

Mais je ne sais pas si il est possible de resoudre le probleme... il faut attendre les pros :D

Commentaire de Xs le 01/01/2005 18:45:54

Avec un code aussi simple, tu pourrais au moins montrer comment récupérer un device aprés alt-tab.

"2D OPTIMISÉE AVEC DIRECTX"
Mouais quand j'ai lu la source ça m'a fait un choc quand même. C'est sûr, elle est fonctionelle et propre, mais alors niveau optimisations, y'a du boulot. En effet, dans ta fonction render, tu déclare plein de variables à chaque frame, tu fais plusieurs appels à des fonctions telles que timeGetTime (c'est mieux d'avoir un temps unique dans une frame...)...

Enfin, je serais toi j'enléverais le "OPTIMISEE" du titre.
Sinon, le reste est correct.

cordialement

Commentaire de Galmiza le 01/01/2005 18:55:55

Merci pour vos commentaires !

Xs > Je vois ce que tu veux dire par "optimisée".
En fait l'unique avantage de cette source est de montrer le fonctionnement de la fonction Draw.
J'ai dit optimisé car la carte vidéo fait quasiment tout  le travail.
Mais ok, je vais optimiser le code... :D (tant qu'à faire)

Sinon, je n'ai pas de probleme avec le Alt-Tab. J'avais des problèmes avec le device à cause de Alt-Tab quand j'utilisais DirectInput.

Commentaire de gimli123 le 01/01/2005 19:47:31

Salut ba moi j'comprend pas, j'ai installé la dernière version qui summer 2004, sur une des pages que t'a montré c'était summer 2003 ... plus qu'a attendre les pros alors :D
@++

Commentaire de Vb6Malade le 23/01/2005 15:57:49

salut moi j'ai une erreur a :
return sqrtf(pV->x * pV->x + pV->y * pV->y);
j'ai Borland cpp 6 builder
avec le sdk de summer 2004(enfin je pense l'avoir)
ca me met:
[C++ Erreur] d3dx9math.inl(1578): E2268 Appel à une fonction non définie 'sqrtf'
Stp aide moi et ps si quelq'un a le sdk en francais ca m'interresse VOILA...

Commentaire de greg le grand le 13/07/2005 12:54:51


AVIS a tous les utilisateurs de PC pas très puissant ne lancer pas le .exe ,je viens de le faire et ca bloque TOUT ca s'arrange rapidement mais évitait de le faire !

Commentaire de Amanobuo le 10/05/2006 18:44:46

J'ai la solution pour la fonction draw,
comme le disait Galmiza, il y a eu une update, dans directx8 la fonction draw prendait 7 parametres et depuis directx9 elle n'en prend que 5, il y a l'echelle et l'angle en moins, d'ailleurs j'attire votre attention sur la remarque de la doc du SDK April2006 update :
Remarks
To scale, rotate, or translate a sprite, call SetTransform with a matrix that contains the scale, rotate, and translate (SRT) values, before calling ID3DXSprite::Draw. For information about setting SRT values in a matrix, see Matrix Transforms.
C'est me jour de bonté alors je vais traduire :
Remarque
Pour l'echelle, la rotation ou la translation d'un sprit, appeller SetTransform avec une matrice qui contient les valeurs de l'echelle, de la rotation et de la translation (SRT) avant d'appeller ID3DXSprite::Draw. Pour des information a propos de l'initialisation des veleurs d'un SRT dans une matrice, voir Matrix Transforms

Mais j'utilise directx9 me diriez vous ! pourtant je met 7 parametres ! Mais tout depend de la librairie que vous importez dans votre projet, si vous incluez #include <d3dx8.h> ou <D3dx8 core.h> vous avez "l'ancienne" fonction avec 7 paremetres mais si vous incluez <d3d9.h> ou <D3dx9core.h> vous avez la fonction avec 5 parametres.
Pour etre vraiment fixé tout de suite, faite clic droit sur draw et Attendre la définition, et voyez quel fichier il va chercher la definition !

Commentaire de DevMod le 20/07/2006 13:33:19

C'est frustrant, je débute en DirectX, cette source semble contenir tout ce qu'il faut pour m'apprendre à utiliser DirectX avec les sprites, mais je n'arrive pas à effectuer les modifications pour la faire fonctionner avec le SDK d'avril 2006...

Serait-il possible de le mettre à jour ?

Commentaire de Galmiza le 21/07/2006 00:31:21

Voila, voila, la source peut être compilée avec DX9 version avril 2006.
Merci j'avais completement oublié ;) !

Vu la complexité de la nouvelle fonction Draw (moins de paramètres certes mais utilisation ultra chiante de matrice), j'ai fait une fonction qui prend de paramètres intuitifs.

Have fun !

Vb6Malade> essaye d'inclure math.h qui contient la définition de la fonction sqrtf

Commentaire de DevMod le 21/07/2006 09:27:43

Ah merci :p

Je viens juste de réussir à utiliser les sprites, je vais regarder ta source de très près histoire de voir les idioties que j'ai pu faire en codant ^^

Commentaire de Galmiza le 21/07/2006 21:31:27

La source est assez pourrie actuellement.
Je vais la refaire pour demain.
Création d'un classe CEngine2D avec gestion de ressources comme Sprites et Texture.

Commentaire de DevMod le 22/07/2006 10:26:51

Bon ça va j'ai à peu près la même chose.
Pour les matrices, le plus simple est d'utiliser D3DXMATRIX2dTransformation (un truc de ce genre, ce ne sera pas dur à trouver dans la doc) qui permet de modifier à la main les paramètres de la matrice.

Commentaire de Galmiza le 22/07/2006 14:23:33

Hop une autre MAJ.
Le code n'est plus réduit au minimum mais vous pouvez facilement utiliser les classes dans vos projets.
N'hésitez pas à proposer des améliorations !

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

quads transparents avec directx 9 [ par Adeon ] Salut! j'ai un probleme, je voudrai superposer deux quads ( avec le RHW activ&#233; ). le probleme c'est que la transparence ne marche pas pourtant : Directx 8 et DDRAW - JPEG [ par tazkeum ] J'ai utilisé DirectX 8 pour charger du JPEG par D3DXCreateTextureFromFile.Mais j'ai un systeme d'animation 2D qui utlise DirectDraw (DirectX 7 -LPDIRE 2d sprite engine [ par StackDust ] Salut les coders,J'aurais besoin d'un peu d'aide pour creer une simple animation d'un sprite sur un fond.J'ai deja creer les classes necessaires(en c+ Brouillard 2d en directx/C++ [ par Luwy ] Bonjour. Je suis en plein développement d'un petit shooter en 2d en C++ et Directx. Je voudrais donné un ambiance lugubre a un endroit et pour se fair Fenetre vidéo directx [ par elflink ] bonjour à tous,j'ai créé un logiciel beneficiant d'une couleur de transparence (avec la fonction prévue à cet effet de user32.dll). Néanmoins, lorsque Sprite qui ne s'affice pas help!! [ par olivierpot2 ] Bonjour à tous,Je débutes avec c++/directx, et j'essaye d'afficher une image toutes bêtes. Apparement l'initialisation de directX et ok, mais rien ne PyQT et DirectX [ par alvi35 ] Bonjour, J'ai réalisé une IHM avec PyQT sous Windows dans laquelle j'ai, entre autre, un QWidget destiné à jouer une vidéo capturée grâce à DirectX. L ajouter un objet 3D dans une scène vidéo [ par molka1 ] salut,je suis en train de développer une application qui permet d'ajouter un objet 3D dans une vidéo compressé en MPEG-2 en utilisant le VisualStudioC Capture vidéo avec DirectShow [ par lectpe ] Bonjour à tous :J'aimerai pouvoir capturer non pas une vidéo mais une succession d'image provenant d'une webcam grâce à DirectShow mais j'ai cherché s allegro / direct x [ par mat74 ] salut a ts ,voila j'ai prog un jeu avec allegro ( en 2d ) , mais il rame ( et il n'est pa encore fini en + ) alors je voulait savoir si je programmai


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 7,441 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales