begin process at 2010 02 09 21:39:27
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

WPF

 > UN PEU DE 3D AVEC XAML ET BLENDER

UN PEU DE 3D AVEC XAML ET BLENDER


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :WPF Source .NET ( DotNet ) Classé sous :xaml, 3d, viewport3d, blender, mesh Niveau :Débutant Date de création :13/02/2007 Date de mise à jour :04/04/2008 00:10:02 Vu / téléchargé :10 009 / 584

Auteur : yoannd

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Voila, j'avais envie de m'amuser un peu.
J'ai fait un petit mesh en 3D avec Blender. Rien de bien compliqué, pour ceux qui connaissent, j'ai ajouté le fameux mesh représentant la tête de singe à ma scène 3D.
J'ai ensuite exporté ma scène au format raw.
Le format raw permet d'exporter les faces de la scène 3D, séparées par des \n.
Chaque face est composée de points, qui sont des triplets de valeurs décimales. Un triplet représentant bien sûr des coordonnées en X, Y, et Z.

La fenêtre XAML est composée d'un viewport 3D, dans lequel on met un mesh. Vous noterez au passage une petite animation sur la rotation du mesh (dans le code XAML).

Le programme lit donc le fichier raw de la scène, en récupère les faces, puis les points de chaque faces, pour les mettre dans notre mesh.
Blender permet de faire des polygones avec plus de 3 côtés, ce que ne permet pas DirectX. J'ai donc un petit algo qui tranforme un polygone à 4 côtés (type caré, rectangle, parrallèlogramme, ...) en deux triangles. Par contre, les polygones avec plus de 4 côtés ne sont pas gérés.
De plus, seule la géométrie de l'objet est gérée. Le matériau de celui-ci est mis en dur dans le XAML.


 Conclusion

Vous aurez besoin du framework .net 3 (donc Windows XP et supérieur) pour exécuter ce code.
Développé avec Visual C# Express.

 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 Source .NET (Dotnet) PIXEL SHADER - CRÉATION, UTILISATION, ET BINDING
Source avec Zip Source avec une capture Source .NET (Dotnet) CRÉATION ET ENVOI DE FICHIERS ZIPPÉS
Source avec Zip Source avec une capture Source .NET (Dotnet) LES RÉFÉRENCES FAIBLES
Source avec Zip Source .NET (Dotnet) EXTENSION DES LISTES GÉNÉRIQUES (DESIGN PATTERN "DECORATEUR"...
Source avec Zip Source avec une capture Source .NET (Dotnet) QUELQUES EFFETS EN XAML

 Sources de la même categorie

Source .NET (Dotnet) WPF MOVENEXT ET MOVEPREVIOUS par muffin516
Source avec Zip Source avec une capture Source .NET (Dotnet) ROBOT À DESSINER par Warny
Source avec Zip Source avec une capture Source .NET (Dotnet) [WPF .NET 3.5] USER CONTROL INFO BOX par Kite37
Source avec Zip Source avec une capture Source .NET (Dotnet) [C# .NET 3.5 WPF] SLIDER CIRCULAIRE par Kite37
Source avec Zip Source avec une capture Source .NET (Dotnet) SERVICES WINDOWS par thebestdrummer

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) EXEMPLE PROJECTION 3D SILVERLIGHT 3 par silverressources
Source avec Zip Source .NET (Dotnet) CODE SOURCE DE L'ARTICLE "WPF : 10 BONNES RAISONS DE CHOISIR... par odahan
Source avec Zip Source avec une capture Source .NET (Dotnet) TETRIS WPF par max12
Source avec Zip Source avec une capture Source .NET (Dotnet) CUBE-IT: PETIT JEU EN WPF par Bidou
Source avec Zip Source .NET (Dotnet) CALCULETTE (OPÉRATEURS : +, -, X ET :) EN SILVERLIGHT par xXTitouffXx

Commentaires et avis

Commentaire de glom le 20/02/2007 17:25:44

Très fort, je suis impressionné !
Moi j'arrive même pas à charger une combobox en xaml, et regarde ce que tu arrives à faire.
A quand la calculatrice en moins de 2mn36 en xaml (private blague) ?

Commentaire de yoannd le 21/02/2007 02:32:01

hé hé hé !
Trop fort ! J'ai lu ton commentaire avant de voir le fameux pseudo de ma petite britney cuissiette préférée (oui, vous avez bien lu ^^), et je me suis souvenu de ce fameux jour de défi... Vous pourrez pas comprendre, les gens, c'est de la private joke tout ça... mais que de souvenir, nan de diou...

Commentaire de Teladryl le 15/12/2008 19:02:17

Bonjour,

"Blender permet de faire des polygones avec plus de 3 côtés, ce que ne permet pas DirectX."

Alors Blender utilise OpenGL. Si tu compare Blender à DirectX alors tu compare une voiture avec un piston...

"un petit algo qui tranforme un polygone à 4 côtés (type caré, rectangle, parrallèlogramme, ...) en deux triangles. Par contre, les polygones avec plus de 4 côtés ne sont pas gérés."

Un quad (polygone a 4 coté) est toujours 'séparer' en 2 triangles, pour la simple et bonne raison => le prossesseur graphique actuelle est incapable de faire des calculs sur autre chose que des Triangles. Donc DirectX ou OpenGL, les deux fonctionne pareil au final, sauf que OpenGL transforme sans que tu le sache le quad en 2 triangle.

Voila :)

Commentaire de yoannd le 16/12/2008 10:26:21

"Alors Blender utilise OpenGL. Si tu compare Blender à DirectX alors tu compare une voiture avec un piston..."
--> Ma phrase n'était pas tout à fait exacte, je suis d'accord, mais je pense qu'elle était assez claire : avec Blender, on peut faire des carrés (peu importe qu'ils soient découpés en triangles ou non lors de l'affichage) et on ne peut pas injecter directement ces carrés dans une appli utilisant DirectX. C'est pour justifier le fait qu'on ait un algorithme de découpage des carrés. Mais je pense que tout le monde avait compris ça...
Pour ceux que ça interesse, les instructions OpenGL pour dessiner des carrés : http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=05
... Ce genre d'instruction n'existe pas en DirectX.



"Un quad (polygone a 4 coté) est toujours 'séparer' en 2 triangles, pour la simple et bonne raison => le prossesseur graphique actuelle est incapable de faire des calculs sur autre chose que des Triangles. Donc DirectX ou OpenGL, les deux fonctionne pareil au final, sauf que OpenGL transforme sans que tu le sache le quad en 2 triangle."
--> Heuuu... ouais... big news... Je vois pas pourquoi tu apportes cette précision qui est déjà présente dans l'article. Encore une fois, je justifie mon algorithme de découpage des carrés par le fait que celui-ci n'est pas déjà implémenté dans DirectX (alors qu'il l'est dans OpenGL). On ne parle pas ici du rendu effectué par la carte graphique, mais bien de ce que prend en entrée la librairie graphique (carrés ou pas carrés). Et pour la phrase que tu cite, elle était là pour signaler qu'un carré à découper en triangles, c'est facile, mais dès que tu touches à un peu plus de faces, c'est déjà bien plus délicat.

Commentaire de Teladryl le 16/12/2008 13:05:33

Ton problème viens de la conception de ton modèle 3D alors. Pour une optimisation maximal, moins tu as de Quad mieux c'est.

Commentaire de yoannd le 16/12/2008 13:59:11

Non, le problème vient de la fonction qui exporte en raw dans Blender... et encore, cet outil est fait pour exporter des faces triangulaires et/ou carrées parce que OpenGL les comprend... ils se sont pas trop occupés de savoir si Directx pouvait avaler des carrés ou pas, ce que je comprend.
De plus, le modèle 3D, ce n'est pas moi qui l'ai fait, c'est celui qui est fourni en exemple dans Blender (l'équivalent de la teapot dans OpenGL).

Commentaire de zainal le 16/02/2009 16:47:36 8/10

Merci pour cette source. Je suis en plein apprentissage de XAML et WPF et je voulais voir un programme de ce genre.

"Ton problème viens de la conception de ton modèle 3D alors. Pour une optimisation maximale, moins tu as de Quad mieux c'est."
Sauf que du point de vue du designer 3D les quads c'est le pied parce que ça te permet d'avoir un lissage impeccable (contrairement aux triangles). Donc voila pourquoi la tête de singe est en quads.

Commentaire de Teladryl le 16/02/2009 21:09:07

http://www.developpez.net/forums/d631389/technologies-divers/developpement-2d-3d-jeux/3d-triangle-quadrangle/

A vous de voir :)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Udapte de la fenêtre Viewport3D [ par sondos01 ] Bonjour, Je travaille sur WPF pour Importer une image 3D . Cependant, j'effectue des changement sur differentes parties de l'objet 3D. J'utilise un Th WPF - Update de Viewport3D [ par sondos01 ] Bonjour, Je travaille sur WPF pour Importer une image 3D . Cependant, j'effectue des changement sur differentes parties de l'objet 3D. J'utilise un Th Imposer des contraintes en 3D [ par sondos01 ] Bonjour à tous,   Je travail sur une application 3D  en WPF/XAML ( VS 2005 .Net 3.0). J'ai un Model3DGroup qui regroupe <spa Problème pour trace une ligne en WPF [ par sondos01 ] <td colspan="3" class="txt4t" style="padding-top: 4px; Creer un Cylindre 3D en WPF [ par sondos01 ] Bonjour, Je cherche à tracer en C# un cylindre en 3D pour l'utiliser en WPF . Aurez vous des tutoriels intéressant la dessus.Merci , SondosNB: VS 2005 Image et TabItem ??? [ par gglamicose ] Bonjour a tous !! Voila, je suis en train de faire une petite application en xaml, et je me disais que ce serrait sympa d'ajouter une image a coté du XAML Modifier ResourceDictionary dans le code csharp [ par mfabio1902 ] Bonjour,je débute XAML et je dois modifier en cliquant sur un bouton la couleur de fond (dégradé) de toutes mes fenetres.Toutes mes fenetres ont comme [Xaml]WPF ItemsSources et ItemTemplate without ListBox [ par Theridion1 ] Bonjour,Pour illustrer mon soucis je part sur le Sample suivant :http://msdn.microsoft.com/en-us/library/system.windows.documents.tablecell.aspx &lt;! Demande d'info concernant une creation de jeu 3d... [ par PEGASUS400 ] Bonjour a tous, Nous sommes un petit groupe de jeunes etudiants en informatique et nous voulons creer une entreprise de developpement de jeux 2d/3d ma ARCHITESCTE 3D SYLVER 2008 [ par marvilan ] Bonjour,Je souhaite faire avec Architecte3D Silver 2008 une clôture de façade mur en pierre de 9m50 de longeur (une ligne droite) et inclure  2 portai


Nos sponsors


Sondage...

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 : 0,764 sec (3)

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