begin process at 2010 02 09 23:25:11
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

DirectX / OpenGL

 > IMAGINE: BASE D'UN MOTEUR 3D DIRECTX

IMAGINE: BASE D'UN MOTEUR 3D DIRECTX


 Information sur la source

Note :
Aucune note
Catégorie :DirectX / OpenGL Source .NET ( DotNet ) Classé sous :directx, jeu 3D, moteur, tuto 3D, tuto Niveau :Débutant Date de création :06/07/2009 Date de mise à jour :31/12/2009 14:23:10 Vu / téléchargé :2 973 / 221

Auteur : Children

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

 Description

Cliquez pour voir la capture en taille normale
Voilà une maj de la source que j'ai poster cet été.

Il s'agit d'une ébauche d'un moteur 3D, qui permet de placer des objets 3D importés depuis des fichiers .x ou des modèles 3d prédéfinis, de les tournée et d'appliquer de la lumière.

Le moteur n'est absolument pas optimisé et tourne entre 25 et 60 FPS en mode fenêtré (comparé au 200 FPS du sdk)

Les sources qui m'on permis de le réaliser:
- http://www.vbfrance.com/codes/EBAUCHE-MOTEUR-3D-DI RECTX_41763.aspx
- http://www.csharpfr.com/codes/DX9-TUTORIEL-MESHS_1 1568.aspx
- http://www.csharpfr.com/codes/BOX3D-DIRECTX_41948. aspx (dont j'ai repris la texture)
- http://www.cppfrance.com/codes/DETECTION-COLLISION S-3D_46530.aspx
et de quelques tutos de http://thezbuffer.com/articles/315.aspx en vb.net pour comprendre certains fonctionnements.

Les fonctionalités:
- Texturage/Modification des "materials" d'un objet
- Placer, déplacer, tourner un objet
- Propriétés d'un objet (à voir dans la source, BoundingBoxMinValue, BoundingBoxMaxValue, scale, visible, etc.)
- Gérer les entrées utilisateur (clavier, souris, joystick)
- Caméra libre/Caméra suivant un "acteur" (j'ai pris le tigre du sdk), en appuyant sur F12
- Méthodes pour écrire et dessiner à l'écran (à amélioré grandement)
- Modèles 3D prédéfinis (cubes et plans, j'aurais aussi aimé ajouter la sphère mais j'ai aucune idée de comment faire, donc j'ai rajouté DXSphere qui créer une sphere à partir des modèles DirectX où je ne sais pas modifier les textures et les vertices)
- Application de lumière
- Gestion du sons (lire un sons ou une musique depuis une playlist, modifier le volume)
- 2 niveaux (appuyez sur F1 et F2, le premier niveau étant F2, cf Game.cs et LEVEL/)
- Détection des collisions (mais pas gestion, je n'ai pas réussi à gérer les collisions sans descendre en dessous de 1fps :p)

Pour le premier niveau j'ai repris des textures de Trackmania (Stadium) au format dds. Pour l'autre niveau je croit que je les avait pris sur thegamecreator(fps creator)


Source

  • Classes:
  • GameEngine.cs:
  • Classe regroupant toutes les fonctions du moteur:
  • - Initialize(InitializeFlags[]) = permet d'initialiser le device (l'affichage), les clases, et le rendu
  • - Render() = rendu de la scene
  • - Display = fournit les options concernant l'affichage (qualité, résolution, etc.)ion,
  • - Objects[] = contients la collection de tout les objets
  • - Camera = fournit les options sur la caméra (rotation / déplacement etc.)
  • - Lighting = fournit toutes les options pour créer de la lumière
  • - Screen = fournit des options pour l'affichage 2D (dessin d'image, affichage de texte, etc.)
  • - Models = fournit des models 3D prêt défini et des fonctions sur les textures et matériaux
  • - Sound = fournit des options pour ajouter de la musiques et des sons
  • - Data = fournit la collection de donnée
  • - Property = membre de Objects[] , collection générique de type <string, object> permettant d'accéder à des propriétés fictives
  • - Input = fournit des méthode sur la saisie du claier, de la souris et du joystick
  • - Physics = moteur phisique (collision, intersection, etc.)
  • Gestion d'erreur:
  • WriteErrorEnable = écrit les erreurs dans la console si true
Classes:

GameEngine.cs:

Classe regroupant toutes les fonctions du moteur:
- Initialize(InitializeFlags[]) = permet d'initialiser le device (l'affichage), les clases, et le rendu

- Render() = rendu de la scene

- Display = fournit les options concernant l'affichage (qualité, résolution, etc.)ion,

- Objects[] = contients la collection de tout les objets

- Camera = fournit les options sur la caméra (rotation / déplacement etc.)

- Lighting = fournit toutes les options pour créer de la lumière

- Screen = fournit des options pour l'affichage 2D (dessin d'image, affichage de texte, etc.)

- Models = fournit des models 3D prêt défini et des fonctions sur les textures et matériaux

- Sound = fournit des options pour ajouter de la musiques et des sons

- Data = fournit la collection de donnée

- Property = membre de Objects[] , collection générique de type <string, object> permettant d'accéder à des propriétés fictives

- Input = fournit des méthode sur la saisie du claier, de la souris et du joystick

- Physics = moteur phisique (collision, intersection, etc.)

Gestion d'erreur:

WriteErrorEnable = écrit les erreurs dans la console si true

 Conclusion

Les ressources étant trop grosse (34.5Mo) je les aient mise en ligne sur mon site (contient tous les mesh, texture, et musiques nécessaires).
A placer dans \bin\Debug\ :
http://cid-657f6a23e735c8b6.skydrive.live.com/sel f.aspx/Public/Imagine%20-%20bin%5E_debug.zip

Le rendu des objets ne se fait pas dans GameEngine, mais dans GameObject pour rendre la source plus facile à comprendre.

Pour ceux qui ne comprennent pas GameModel, sachez qu'un vertex est un vecteur avec d'autres données (x, y, z, texture, couleur, etc.) et qu'un objet est constitué de triangles dont les sommets relier entre eux sont les vertex.

 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

06 juillet 2009 18:21:10 :
Ajout du zip.
06 juillet 2009 19:01:03 :
Capture d'écran.
06 juillet 2009 21:05:12 :
Modification de la description.
06 juillet 2009 21:07:09 :
Modification de la description.
06 juillet 2009 21:09:24 :
idem
06 juillet 2009 21:50:45 :
Correction des fautes d'orthographe xD
06 juillet 2009 21:58:06 :
...
06 juillet 2009 22:00:08 :
...
07 juillet 2009 15:05:05 :
Ajout modèle plan, et carrelage de texture (TextureTiles)
07 juillet 2009 15:15:01 :
Ajout du nouveau zip et de la nouvelle capture
07 juillet 2009 15:16:38 :
.....
07 juillet 2009 15:19:22 :
....
07 juillet 2009 15:20:31 :
.....
07 juillet 2009 15:21:46 :
..........
27 décembre 2009 20:29:26 :
nouvelle version
27 décembre 2009 20:34:40 :
Capture d'écran
27 décembre 2009 20:38:18 :
...
27 décembre 2009 20:43:13 :
...
29 décembre 2009 22:52:19 :
maj du lien
31 décembre 2009 13:37:59 :
encore une maj du lien
31 décembre 2009 14:08:46 :
satané lien!!
31 décembre 2009 14:11:39 :
..
31 décembre 2009 14:23:10 :
..

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) 3VE-WALKER par jyce3d
Source avec Zip Source avec une capture Source .NET (Dotnet) DIRECTX OVERLAY - CHANGE WALLPAPER ON DESKTOP WITH DIRECTX par youpiyoyo
Source avec une capture Source .NET (Dotnet) SE SERVIR D'UNE MANETTE OU JOYSTICK par soussous78
Source avec Zip Source avec une capture Source .NET (Dotnet) MOVIE PLAYER (MANAGED DIRECTX) par Zap
Source avec Zip Source avec une capture Source .NET (Dotnet) EXPLORATION DE LABYRINTHE 3D par damned3

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) ADDYSCRIPT: UN MOTEUR DE SCRIPT POUR .NET par addy
Source avec Zip Source avec une capture Source .NET (Dotnet) EBAUCHE D'UN MOTEUR 3D ISOMÉTRIQUE par ansizak
Source avec Zip Source .NET (Dotnet) LECTEUR AUDIO WPF par herve_labenere
Source avec Zip Source avec une capture Source .NET (Dotnet) TIFBALL : JEU DE CASSE-BRIQUES 2D AVEC DIRECTX 9 par Lepiote
Source avec Zip Source avec une capture Source .NET (Dotnet) MOVIE PLAYER (MANAGED DIRECTX) par Zap

Commentaires et avis

Commentaire de Children le 07/07/2009 15:24:17

La nouvelle capture ne veut pas se mettre, sa me remet toujours l'ancienne, quand cs bug... Sinon, j'ai ajouter aussi un fichier texte expliquant la manière de programmer les collisions (la flemme de les prog moi même :p)

Commentaire de Children le 16/10/2009 22:02:56

Complètement null se fichier collision comment j'ai put poster sa, en faite je suis partit sur le principe qu'on à un terrain générer à partir d'une height map et donc qu'on à tous les points stocké dans un tableau... bon ba lisez pas le fichier (pour le trop peu de personne qui passe par ici), puis j'ai pas envie de recompiler le projet juste pour enlever un fichier.

Commentaire de Children le 27/12/2009 20:49:20

Aller hop une petite mise à jours pour le nouvel an.

Commentaire de Children le 31/12/2009 14:27:06

Alors enlever l'espace dans le lien je sais pas pourquoi il revient toujours, voic le lien:
http://cid-657f6a23e735c8b6.skydrive.live.com/self.aspx/Public/Imagine%20-%20bin%5E_debug.zip

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

DirectX 9 et C# [ par jagxx ] Bonjour,Quelqu'un connaitrait il un bon livre (si il existe...) qui traite de la programmation de DirectX en C#? Merci.Jagxx [directx][C#]cube avec texture [ par maxvador ] Salut à tousJe voudrais créer un cube avec une texture. Est ce que je suis obligé de créer pleins de triangle pour ca.Comment ajouter une texture ou u c# et directx [ par yafuka ] Salut t le mondej utilise visual studio .Net puis j ai installé directx9 sdk c++ et direcx9 sdk c# sur ma machine.mais lorsque je fais using Microso prob directx 9 [ par LuckyLuck ] En fait, en C#, lorsque j'inclus les références directx( ce sont les 9), la plupart des classes fonctionnent, mais les classes relatives aux Mesh ne s DirectX 9 SDK [ par Crew209 ] Crew209SVP aidé moi. je suis sous XP avec VS.net 2003 et j'arive pas a avoir les lib "Microsoft.DirectX" et "Microsoft.DirectX.Direct3D". merci de vot DirectX 9 et C# [ par cderoy ] Bonjour,Je suis à la recherche d'une aide sur les classes du SDK DirectX 9 utilisables avec C#.Qui peut m'aider ?Merci d'avance.A bientôt. Objets 3D et diverses propriété possibles [ par Trollien ] Bonjour,je cherche à créer un moteur 3D que j'ai déjà mis en ligne et que je mettrais à jour au "fur et à mesure" (hummmm).Mais debutant completement probleme d assemblies avec directX [ par boisnou ] bonjour j ai un petit souci :j utilise borland c# et je voulais compiler une source utilisant directX 9 (source disponible sur ce site). et borland ne debutant [ par tyzer ] je debute en programation.quand j'ouvre vos sources dans sharpdevelop ca me donne un message d'erreur à la compilation :error CS5001: Le programme 'C: pb install directx [ par Popolino69 ] Bon, j'ai installe le SDK de Directx 9 mais je sais pas comment faire pour l'integrer a visual studio.net, histoire que le "using Microsoft.Directx" m


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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 : 1,061 sec (3)

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