begin process at 2012 02 09 23:44:09
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Direct X

 > IL PLEUT SUR LA FORET - DX8

IL PLEUT SUR LA FORET - DX8


 Information sur la source

Note :
8,5 / 10 - par 6 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Direct X Niveau :Débutant Date de création :24/09/2003 Date de mise à jour :14/11/2003 16:07:59 Vu / téléchargé :3 705 / 601

Auteur : Guidelor

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

 Description

Cliquez pour voir la capture en taille normale
Vous êtes dans une petite forêt et il pleut et vente
Vous pouvez vous mouvoir et regardez autour de vous
grâce à la souris
Totalement commenté
Bon c sur , cette source n'est pas une bombe , mais plutot un outil pour
faire de la pluie et du vent et des arbres se deplacer grace à DirectInput

COMMANDES
Souris : Vue
Flèche du haut : Avancer
Flèche du bas  : Reculer
Flèche de gauche : Aller à gauche
Flèche de droite  : Aller à ... ???
Touche + : Monter
Touche - : Descendre

Source

  • 25 Sep 2003
  • [Résolution du peti bug avec la texture des gouttes
  • 26 Sep 2003
  • [Installation du InputDevice Remplacement du timer par une boucle
  • ---> 10 fois + fluide ( à bas les timers !! )
  • [Création du vent aléatoire
  • 08 Nov 2003
  • [Arbres
25 Sep 2003
[Résolution du peti bug avec la texture des gouttes
26 Sep 2003
[Installation du InputDevice  Remplacement du timer par une boucle
---> 10 fois + fluide ( à bas les timers !! )
[Création du vent aléatoire
08 Nov 2003
[Arbres


 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


 Sources du même auteur

Source avec Zip Source avec une capture KNOCK KNOCK NEO... - DX8
Source avec Zip Source avec une capture INCORPORATION D'OBJETS DANS UN PAYSAGE 3D - DX8
Source avec une capture PETIT EFFET MODERNE POUR BOUTONS
Source avec Zip Source avec une capture PRÉVENEUR D'ANNIVERSAIRES
Source avec Zip Source avec une capture LE NOUVEAU FIFA

 Sources de la même categorie

Source avec une capture HAPPY LAND - 3D VB6 GAME - OPEN SOURCE CODE par ZaidMarkabi
Source avec une capture METAL GEAR SOLID - 3D VB6 GAME - OPEN SOURCE par ZaidMarkabi
Source avec une capture FIGHT COMBAT II - 3D VB GAME - OPEN SOURCE par ZaidMarkabi
Source avec Zip Source avec une capture UTILISER LA CAMERA POUR DIRECTX par zulrigh
Source avec une capture STREET FIGHTER - 3D VB GAME - OPEN-SOURCE par ZaidMarkabi

Commentaires et avis

Commentaire de Noiretulipe le 25/09/2003 00:56:32

G une Erreur : Run-Time error
automation error....

Doit me manker un dll surement ...

Commentaire de Noiretulipe le 25/09/2003 00:59:46

Enfin sans les textures ( l'erreur vient dans l'application des textures à la création de la mape ), la pluie est blanche ( la prairie aussi du coup lol )
C'est sympa comme source pour un mec qui comme moi est absolument zero en DirectX

Commentaire de vr3h le 25/09/2003 07:33:22

Salut,
jai look vite fait ta source, jaurai juste quelques petite choses a te dire : tout d'abord pour la texture, tu peux en trouver d geniales dans les ressources du site : prografix.free.fr
sinon pour ton bug de la pluie verte, c normal, tes vertexs servant à dessiner la pluie disposent de coordonnées de textures comme ton sol, et il y est appliqué la texture du sol (si tu supprime les coordonnées de textures pour les vertexs de pluie ca devrait pouvoir marcher en mettant à la place une couleur, sinon tu n'as qu'à faire une texture de 16x16 de la couleur que tu veux pour ta pluie que tu applique au moment du dessin de la pluie).
voilà je pense avoir ete relativement clair, sinon n'hesite pas a me contacter ;)

Commentaire de CanardLeBarbare le 25/09/2003 11:28:04

c vrai que la texture et vraimment moche, et puis avec le fond noir on a du mal à voir les lignes de pluies...mais c vrai que mis à part ça, l'animation des gouttes de pluies est vraimment pas mal, quoique un peu mince les lignes...(voui ya plus de critiques, que de compliments :p). Ya des choses byzarres dans le code: tu declares 2 type de vertex mais tu n'as qu'une seule constante FVF (qui correspond aux vertex du plan), comment il fait directD3D pour savoir que tu utilise un autre type de vertex quand tu dessines tes traits de pluies? Et puis même, ton type de vertex pour la pluie est byzarre: un vecteur et une couleur (pour le diffuse), si tu regardes dans l'aide fournie avec le sdk dx8, microsoft  rajoute la propriété specular alors bon (pour des litvertex sans textures). voilà g fini :O

Commentaire de vr3h le 25/09/2003 12:53:24

En fait le specular n'est pas necessaire, car tu n'as que des traits et pas des triangles, en revanche le fait davoir un vecteur (pour la position du vertex) et une couleur pour le diffuse, c'est tout a fait normal dans la mesure où tu désactive l'illumination
(renderstate->lightenable= false) enfin bref voilà, mais sinon à part ca gg qd mm ;)

Commentaire de Guidelor le 25/09/2003 13:07:13

C'est bon , j'ai résolu le prob, j'ai fait une nouvelle texture comme l'a dit vr3h
Mais pour les couleurs des gouttes et du ciel , je sais pas trop quoi mettre pour rendre réaliste au maximum

Commentaire de serial le 25/09/2003 13:44:10

Bah moi ca marche pas
si qqun connait des liens pour apprendre le dirext mais je debute donc qq chose pour debutant
merci

Commentaire de Klimero le 25/09/2003 14:03:28

Serial, le tutoriel de la doc MSDN fourni avec le SDK de directx et pas mal foutu du tout, tu devrais y jeter un oeil.

Commentaire de Klimero le 25/09/2003 14:09:34

Sympa comme code, juste une petite suggestion : tu devrais utiliser DirectInput pour le clavier et la souris, comme ca plus de pb de temps de latence entre le premier déplacement et les suivants, pis DirectInput te renvoie pas les coordonnées de la souris mais directement son déplacement (qq calculs en moins !!). Bah pis tant qu'à faire du DirectX, passe sous Visual C++, c'est pas plus difficile et tu n'auras plus les limitations de VB.

Bravo, continue comme ca !

Commentaire de vr3h le 25/09/2003 14:11:07

Pour ton ciel tu as plusieurs techniques :
-soit tu vx pas te prendre la tete ds un premier tps et tu mets un bleu ciel dans la couleur de rafraichissement,
-soit tu utilise une boite avec une couleur ou une texture de ciel,
-soit tu utilises une sphere, mais la sphere demande beaucoup en tps daffichage donc c pas top).

Après pour rendre réaliste, à toi de rajouter tes nuages, un soleil, eventuellement un lens flare...  ;)

Commentaire de Guidelor le 25/09/2003 14:31:36

J'ai pensé à DirectInput , mais franchement le code pour la souris et le clavier ne sont pas gros !!!
En fait , vr3h , je demandais juste kon me conseille les 2 couleurs des gouttes et du ciel ...merci comeme

Commentaire de vr3h le 25/09/2003 16:21:02

en fait, si tu vx une gestion clavier/souris efficace, je te conseille de passer sous DirectInput (qui est tres facile à mettre en place).
sinon pour ta couleur de ciel, je peux te conseiller une couleur mais c pour un ciel bleu et pas un temps pluvieux (RGB(0, 128, 255)) sinon pour le temps pluvieux tu peux baisser la composante V mais je sais pas juska quel niveau (encore jamais simulé la pluie dsl)

Commentaire de vr3h le 25/09/2003 19:10:06

pdt ke gt en cours, jai pensé à ton problème et en fait tu peux simplifier la gestion de ton ciel :
tu nas à jouer que sur les composantes V et B de ta couleur RVB. on va partir d'un cas simple :
RVB(0, 128, 255) = bleu ciel par beau temps
Si tu diminues ta valeur V jusqu'à 0, tu passes à une couleur de bleu nuit relativement clair. Ce qui te donne :
RVB(0, 0 , 255) = bleu nuit par beau temps
Et si tu diminues ta valeur B jusqu'à minimum ta valeur V (sinon ca va devenir vert, alors qu'au pire ca doit devenir gris), ca te donne :
RVB (0, 128, 128) = temps pluvieux de jour
Et enfin tu peux combiner les 2 pour obtenir ta couleur de ciel pour la nuit par temps de pluie.
C'est de la théorie, jai pas encore testé dc si tu vx bien me donner le resultat stp ? merci davance

Commentaire de CanardLeBarbare le 25/09/2003 20:51:15

en fait je crois que ce qui est souvent utilisé ce sont les skybox (mais ja sais pas comment ça marche...) Cependant il y a peut etre un principe qui pourrait fonctionner auxquel j'avais réfléchie et qui donne l'équivalent d'une skybox, à savoir un fond qui "change" lorsqu'on la caméra pivote sur elle meme. Le principe de dessiner un sprite 2D avant tes objets 3D de maniere à ce que le sprite apparaisse toujours derriere les objets 3D. ensuite le principe est simple, quand la camera pivote, on change les coordonnées de LA TEXTURE du sprite (puisque le sprite est "toujours" devant la camera) . Par exemple à chaque fois qu'on tourne  de pi / 2, on ajoute 1/4 aux coordonnées de la camera.
bon apres y a le truc penible de faire que la fin commence aux debut (je me suis compris..) enfin le probleme de faire un cercle en fait...

Commentaire de vr3h le 25/09/2003 21:06:13

alors canard je vais eclairer ta lanterne,
le principe que tu expose ici à déjà été exposé il y a quelques années du temps de DirectX 7 sur le site : http://francis.dupont.free.fr/coindev mais le pb d'une telle technique vient quand la camera commence à ne plus pointer horizontalement et commence à etre vertical, dans ce cas précis ce n'est pas tres pratique à appliquer ton system, sinon il existe des jeux (tels que les jeux de voiture par ex) qui peuvent sen accomoder si la hauteur de ton sprite est suffisament grand.

Sinon pour la skybox, c'est le principe que j'ai évoqué plus haut
("-soit tu utilise une boite avec une couleur ou une texture de ciel"), en fait il s'agit de créer un objet cubique, auquel tu appliques une texture d'environnement pour chaque face(c'est ce qui est utilisé dans Half-Life et tous ses mods, vous le verrez si vous utilisez WorldCraft le log de mapping), la seule contrainte c'est que la boite doit être visible de l'intérieur à l'inverse de la majorité des objets que tu aurasà créer. Sinon, tu peux utiliser, comme je lai dit aussi plus haut, une sphere. Mais la sphere est plus complexe a construire, à adresser les textures et plus longue à dessiner.
voilà jespere que te voilà eclairé sinon n'hesite pas a me demander ;)

Commentaire de CanardLeBarbare le 25/09/2003 22:05:53

haa ok. excuse de te faire repeter :P .
Ben euh j'aurai bien quelques questions. alors ça a pas grand chose a voir, mais bon: g un probleme avec la transparence des textures. j'arrive a appliquer de la transparence mais c un petit peu de la bidouille...tu applique quoi à la source et à la destination de l'alpha blend, et surtout comment fais tu pour faire varier le degre de transparence?

Commentaire de vr3h le 26/09/2003 09:24:43

Guidelor : Pour ton pb de couleur de ciel je me t'ai dit qq ptites betises, en effet tu dois aussi jouer sur ta composante R dans la mesure ou elle ne dépasse pas V. voilà, maintenant, quant à savoir dans quelles proportions je ferais quelques teste chez moi ce soir (je suis pas svt chez moi pr d raisons de copine dc dsl)

CanardLeBarbare : Pour effectuer de la transparence, je mets le parametre D3DBLEND_ONE à la source et à la destination. Par contre, pour ce qui est de faire varier la transparence, il faut jouer sur le canal Alpha (dans ce cas la couleur s'exprime sous la forme ARGB). Le pb c'est que j'ignore à quel niveau il faut intervenir sur le canal Alpha, si c'est sur la texture (enregistrer alors au format PNG ou DXT) ou si c'est sur le matérial ou sur la couleur diffuse. Je pense plutot au matérial car, la couleur diffuse d'un vertex n'est traitée que si le RenderState LightEnable = False. donc voilà, maintenant faut tester tout ceci sur les différentes couleurs des matériaux pour savoir tout ca.
Quand je rentrerai ce soir chez moi je ferai quelques tests et je vous donnerai les résultats

Commentaire de vr3h le 26/09/2003 12:07:58

GuiDeLor : Je viens de voir un autre ptit pb dans ta source, les cartes graphiques récentes prennent en charge toutes les textures, mais pour les autres CG, il faut utiliser des textures dont les formats sont des puissances de 2 : 2, 4, 8, 16, 32, 64, 128, 256, 512
les textures sont de préférences carrées pour les CG les plus bas de gamme, sinon il faut au minimum 2 dimensions en puissance de 2 :
exemples : 16x32, 256x256, 512x256, 512x512...
voilà, c juste à changer les dimensions de tes Textures

Commentaire de Urgo le 26/09/2003 21:28:08

Bravo à toi Guidelor pour ta source et à vr3h pour ses commentaires ;)
8/10

Commentaire de vr3h le 29/09/2003 11:25:01

Resalut tt le monde
bon alors j'ai fait quelques recherches sur l'alpha blending, et il en ressort que l'alpha blending travaille au niveau des pixels de cette maniere (ce ne sont que des supposition, je testerai ce soir chez moi sf si qqn peut tester avant et partager le resultat) :
Couleur du Pixel = FacteurSRCBlend*ARGBsrc + FacteurDSTBlend*ARGBdst
Il faut ici considérer que l'on travaille avec des vecteurs 4D, sauf que les composantes sont A, R, G et B. Ainsi FacteurSRCBlend est structuré ARGB, comme ARGBsrc, FacteurDSTBlend et ARGBdst.
Ensuite pour la transparence : on modifie dans les renderstates les facteurs, ainsi quant on met One à l'un des opérateurs de blending (par exemple SRC) on lui dit de faire :
(1, 1, 1, 1)*(A, R, G, B) A noter aussi qu'il y à là 4 opérations, on multiplie ABlend avec Asrc, et on fait de même avec toutes les composantes sans jamais les mélanger. Ainsi il y a un parametre Zero qui correspond au facteur (0, 0, 0, 0).
Mais revenons en a notre trasparence progressive. Pour la réaliser il nous faut appliquer les 2 opérateurs de blending suivants :
SRCAlpha ((Asrc, Arsc, Arsc, Arsc)*(Arsc, Rsrc, Gsrc, Bsrc)) et
SRCAlphaSAT ((1-Asrc, 1-Asrc, 1-Asrc, 1-Asrc)*(Adst, Rdst, Gdst, Bdst))
Ainsi il n'y a qu'à faire varier la valeur alpha des Vertexs pour faire varier la transparence.
Pour bien comprendre ceci je vous conseille vivement de garder à l'esprit comment est calculé chaque pixel et vous trouverez tres simple la suite de ce commentaire. Sinon vous pouvez toujours me demander de vous reexpliquer d'une autre manière
Amusez vous bien et au plaisir :)

Commentaire de vr3h le 29/09/2003 13:07:28

il y a une petite faute dans mon post de tt a lh, au lieu de mettre SRCAlphaSAT, mettez INVSRCAlpha
voilà s'il y a des questions nhesitez pas ;)

Commentaire de MasterProg2003 le 02/10/2003 20:12:44

Trés bien fait
9 / 10
tu sais m'aider pour faire des application 3D !!! ou m'expliqué !!!
Merci ;-)

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 2,356 sec (3)

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