begin process at 2012 02 11 05:15:52
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > CAROUSEL (3D ANIMATION)

CAROUSEL (3D ANIMATION)


 Information sur la source

Note :
10 / 10 - par 4 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Source .NET ( DotNet ) Classé sous :animation, 3d, gdimage, skin, carrousel Niveau :Expert Date de création :26/01/2007 Date de mise à jour :04/02/2007 14:53:34 Vu / téléchargé :43 610 / 4 078

Auteur : Zap

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
Le projet "Carousel" (en français "Carrousel" avec 2 "r") est inspiré par le menu "Carrousel" de PC-Soft basé sur WPF.
Le premier effet de ce type, a été conçu à l'origine sous forme de plugin flash sur Mac OS.

Le challenge que je voulais relever avec ce projet :
Obtenir un rendu aussi proche que possible de DirectX (WPF) ou d'OpenGL,
en utilisant uniquement du code Win32 FLAT API bas niveau SANS APPEL DIRECT au processeur graphique.

Pour y parvenir je me suis appuyé sur mon composant graphique GDImage,
car celui-ci comportait déjà toutes les primitives nécessaires,
mais il me fallait trouver le bon algorithme mathématique.

Heureusement grâce à Google j'ai trouvé ce que je cherchais,
dans l'excellent article de Keith Peters publié ici :
http://www.bit-101.com/tutorials/3D-rotation.htm l
et qui est à la base de la méthode "DrawCarousel" qui effectue les calculs 3D nécessaires pour la rotation des sprites.
Cette méthode de calcul est rigoureusement la même pour OpenGL ou DirectX, au cas ou quelqu'un voudrait transposer le code.

De nombreuses classes "maison" sont livrées avec le projet :
- GDImage.cs, encapsulation de l'API GDImage.
- SkinEngine.cs, les différentes méthodes utilisées pour créer l'interface graphique.
- SkinButton.cs, contrôle utilisateur pour les boutons skinnés (bitmap à 5 états).
- SkinCaption.cs, contrôle utilisateur pour l'affichage du caption skinné.
- SkinSwitch.cs, contrôle utilisateur pour les cases à cocher skinnées.
- SkinTrackbar.cs, contrôle utilisateur pour les potentiomètres skinnées.
- Win32.cs, encapsulation de l'API Win32 bas niveau.

A noter, que les boutons simulent un effet de halo au survol de la souris
et que la valeur des potientiomètres est affiché dans un tooltip lors du survol ou du déplacement des curseurs.

Le tout est présenté dans une fenêtre skinnée,
basé sur un gabarit inspiré de Vista et Windows Media Player,
comme vous pouvez le voir dans la capture d'écran.

Le projet est compatible avec VISUAL STUDIO 2005 EXPRESS EDITION




 Conclusion

Concernant GDImage.dll :
L'utilisation à titre privé de la version d'évaluation n'est pas limitée dans le temps et toutes les fonctions sont disponibles.

La seule différence avec la version commerciale, concerne le message de copyright affiché au démarrage.

Patrice Terrier
www.zapsolution.com


 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

02 février 2007 19:32:07 :
Voici la version 2 du projet "Carousel" (en français "Carrousel") Cette version comporte une option supplémentaire, intitulée "Use 3D depth", qui redimensionne les sprites en temps réel, pour tenir compte de l'éloignement. Cette nouvelle option ne dégrade pas les performances, puisque même à la vitesse de rotation maximum, l'animation ne dépasse pas les 2% de charge du CPU et plafonne à 50% avec toutes les options activées ("Variable opacity" est la plus gourmande). Note: Ce projet existe aussi en version WinDev et PowerBASIC (champion toute catégorie pour la taille de l'exécutable win32, qui ne fait que 27 Ko !)
04 février 2007 14:46:46 :
Je n'étais pas satisfait par le niveau d'utilisation du CPU qui montait à 50% lors de l'utilisation de l'option "Use 3D depth". J'ai donc revu ma copie pour essayer de booster les performances et je crois y être parvenu au delà de mes espérances. Désormais cette version utilise très peu de ressources même lorsque toutes les options sont activées en même temps. ' Rappel : le but de mon projet est d'imiter la fonction du "menu carrousel" de PC-Soft qui utilise le framework 3.0 et WPF. ' Vous trouverez le résultat du benchmark "GDImage/WPF" avec les captures d'écran correspondantes ici: http://www.powerbasic.com/support/forums/Forum8/HTML/003710.html ' A mon avis les programmeurs SDK qui connaissent bien l'API bas niveau, ont encore de beaux jours devant eux :-)
04 février 2007 14:53:35 :
Rectificatif, c'est pas "Use 3D depth" qu'il faut lire mais l'option "Variable opacity".

 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) MOVIE PLAYER (MANAGED DIRECTX)
Source avec Zip Source avec une capture Source .NET (Dotnet) ICON MENU [GDIMAGE]
Source avec Zip Source avec une capture Source .NET (Dotnet) TRACKBAR PERSONNALISÉ
Source avec Zip Source avec une capture Source .NET (Dotnet) ZEXPLORER (EXPLORATEUR WINDOWS)
Source avec Zip Source avec une capture Source .NET (Dotnet) SPLASH SCREEN AVEC OPACITÉ VARIABLE

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) WINDOWSGADGET LIKE par Frelon
Source avec Zip Source avec une capture Source .NET (Dotnet) USERCONTROL PLANNING / SEMAINE / JOURNÉE par yohan49
Source avec Zip Source avec une capture Source .NET (Dotnet) TEMPLATE MATCHING ET RECONNAISSANCE D'OBJETS AVEC OPENCV (EM... par boutemine
Source .NET (Dotnet) CALCULE D'UNE EXPRESSION MATHEMATIQUE PAR COMPILATION par yohan49
Source avec Zip Source avec une capture Source .NET (Dotnet) CALENDRIER TACTILE, SOUS FORME DE ROUES par Robert33

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) NOTIFICATIONS DANS UN DELEGATE ASYNCHRONE par olivieram2
Source avec Zip Source avec une capture Source .NET (Dotnet) ICON MENU [GDIMAGE] par Zap
Source avec Zip Source avec une capture Source .NET (Dotnet) MAGICBOX (OPENGL + SKINNED FORM) par Zap
Source avec Zip Source avec une capture Source .NET (Dotnet) ILLUSION - TEXTURES D'OPACITÉ VARIABLE (OPENGL) par Zap
Source avec Zip Source avec une capture Source .NET (Dotnet) IMAGES PANORAMIQUES 360° (OPENGL) par Zap

Commentaires et avis

Commentaire de badrbadr le 26/01/2007 21:11:44

Il est super ton projet (faut dire que je l'ai vu en avant-première :)

Commentaire de iow4 le 26/01/2007 21:44:41

Bon travail, c'est très jolie

Commentaire de jmhC le 27/01/2007 12:28:10

Résultat magique ! beau travail !

Commentaire de Bidou le 27/01/2007 13:20:37 administrateur CS

Le travail est très bon (comme d'hab) mais on regrette toujours le fait que le code source soit en partie propriétaire (comme déjà dit dans les autres sources).
Dommage...

Commentaire de romagny13 le 27/01/2007 18:44:12

oui c'est vrai que c'est trés joli maintenant faire du wpf sans wpf je ne vois pas trop la finalité ni à quoi cela servira si ce n'est une jolie démo ...
sinon c'est vrai que c'est trés joli :)

Commentaire de Zap le 27/01/2007 19:57:46

La démo est surtout intéressante pour les classes skinnées qu'elle propose.
le reste n'est pas vraiment destiné à l'environnement DotNET, que je n'utilise que pour me faire la main.

Pour moi l'intérêt est ailleur : je veux que çà fonctionne sur tous les OS Windows en mode Win32 natif, avec des EXE qui ne pèsent que 23ko et ne nécessitent pas l'installation du framework ;-)

Néanmoins, je pense que la possibilité offerte au programmeur de manipuler directement les sprites par programmation (via un callback) est bougrement pratique.
Essayez par exemple de mettre l'animation en pause et de déplacer les sprites avec la souris ou les touches de direction du clavier que vous pouvez combiner avec "Shift", "Ctrl" ou les deux en même temps.
Vous pourriez même afficher un menu popup en cliquant avec le bouton droit au dessus d'un sprite (voir la méthode GDImageCallback).

Vous pouvez tester la version win32 natif qui ne fait que 23Ko ici
http://www.zapsolution.com/preview/carousel.zip


Patrice Terrier
www.zapsolution.com

Commentaire de romagny13 le 28/01/2007 11:23:45

Salut je ne suis pas trop Pc soft (même si il faut le reconnaitre WinDev a des qualités)
j'ai actuellement sur mon pc que windev 10 express d'installer, mais il m'a semblé que l'on peut générer assez facilement un projet .net (ou un .exe)[Bien que pour moi la il me dit que je n'ai pas le framework .net d'installer lol]
Est ce qu'il est réellement possible de convertir n'importe quelle application WinDev en .NET ?
++

Commentaire de Zap le 28/01/2007 11:38:56

Monsieur Romagny13,

>>Est ce qu'il est réellement possible de convertir n'importe quelle application WinDev en .NET ?

Oui, mais le framework WinDev (écrit en C++) est également nécessaire.

Le projet Carousel en version WinDev de trouve ici :
http://www.zapsolution.com/preview/carousel_fr.zip.
Et tous mes projets pour WinDev sont là:
http://www.zapsolution.com/newwindev/FR/index.html

Commentaire de timbits214 le 15/04/2007 02:22:07

Bonjour,

j'essaie d'éxécuter le programme dans MS Visual Studio 2005 et j'ai l'erreur :
Unable to load DLL 'gdimage.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

Pourtant, la DLL est bien dans le dossier : ..\glChart\bin\Debug

J'utiliser Windows 2000.

Merci

Commentaire de Zap le 15/04/2007 09:25:55

Timbits214

Selon toute vraisemblance vous mélangez la démo Carousel et la démo GL Chart.

Je vous conseille de télécharger la démo Carousel depuis ce lien :
http://www.zapsolution.com/winlift/ccorner.htm
et de conserver l'arborescence des répertoires.
La DLL doit se trouver dans le même dossier que l'exécutable en principe
carousel\bin\debug.

Note : Je n'ai jamais testé VISUAL STUDIO 2005 avec Windows 2000.

Patrice Terrier

Commentaire de endik le 05/10/2007 20:51:08

comment compiler la version carousel de patrice terrier je n'arrive pas avoir les demos
merci

Commentaire de val313 le 29/04/2008 21:57:28

Salut, j'aime bien ton applic, pourrais tu me donner si tu en connais des liens qui permettent de créer d'aussi belles interfaces ? Merci d'avance

Commentaire de Zap le 29/04/2008 23:23:29

En réponse à votre demande.

Voici quelques liens vers d'autres applications skinnées :
http://www.jose.it-berater.org/smfforum/index.php?board=179.0
(il faut s'enregistrer sur le forum de José Roca, avant de pouvoir télécharger les projets)

Ces applications sont écrites directement en mode SDK non managé.
Vous pouvez télécharger la version public du projet BassBox ici :
http://www.zapsolution.com/BassBox/setup.zip
Voir aussi le projet MovieBox ici :
http://forum.pcsoft.fr/post.awp?id=1426&forum=pcsoft.fr.horssujet&from=0&gmt=P0100
  

Commentaire de atupac le 24/04/2009 20:39:14

Saluté! J'ai vraiment apprécié de trouver cette version de Carroussel, autre qu'en Flash lol !

J'ai franchement besoin de convertir ce projet en C ou C++, afin de l'intégrer dans mon projet actuel que je réalise en C.

Pourriez-vous me guider si possible, vers une version déjà existante de carroussel en C/C++, ou alors vers une solution de conversion C# --> C/C++ ??

Merci.

Commentaire de Zap le 24/04/2009 21:12:10

Vous pouvez en apprendre plus sur ce "Carrousel" ou les différents projets basés sur l'API GDImage, ici :
http://www.jose.it-berater.org/smfforum/index.php?board=348.0

Note : Vous devez au préalable vous enregistrer sur le site, avant de pouvoir télécharger les différents projets.

Voir aussi BassBox, MovieBox et toutes les autres démos que se trouvent sur le site (anglais obligatoire pour lire ou poster un message).
  

Commentaire de atupac le 25/04/2009 02:37:02

En fait j'ai deja telechargé le projet!  J'ai parcouru pour essayer de comprendre la structure du caroussel sous Visual C# express Edition... Je confirme que ce projet est parfaitement ce qu'il me faut ^^

Cependant, je suis bloqué par la Transposition du code C# vers C++. J'ai réussi à trouver une solution de conversion (mais payante 200 dollars) appelée "InstantC++", malheureusement marche pas pour les projets de plus de 1000 lignes lol!!

Merci si vous avez des idées pour passer en C++...

je continue à parcourir le caroussel sous C#.

Commentaire de atupac le 25/04/2009 02:38:46

Comme par hasard la conversion C# vers VB.net existe et est gratuite!! Mais, meme avec ca on est de nouveau bloqué pour passer de VB vers C++...

Commentaire de atupac le 28/04/2009 16:57:52

Une petie question ZAP. J'ai donc parcouru ton code, et je me demandais pourquoi tu fait appel à la librairie GDImage alors que tu disais ceci:

"Le challenge que je voulais relever avec ce projet : Obtenir un rendu aussi proche que possible de DirectX (WPF) ou d'OpenGL, en utilisant uniquement du code Win32 FLAT API bas niveau SANS APPEL DIRECT au processeur graphique.

Pour y parvenir je me suis appuyé sur mon composant graphique GDImage,
car celui-ci comportait déjà toutes les primitives nécessaires,
mais il me fallait trouver le bon algorithme mathématique."

C'est koi la difference entre Lib. et composant graphique ???

Merci.


Commentaire de Barbieplugin le 04/05/2009 20:08:25

Il faut télécharger VISUAL STUDIO 2005 EXPRESS EDITION  pour voir ton oeuvre?
Serait-il possible de le mettre sur un forum?

Commentaire de Barbieplugin le 04/05/2009 20:11:47

VISUAL STUDIO 2005 EXPRESS EDITION  n'est pas compatible avec Mac OS, que dois-je télécharger   pour voir ton oeuvre?
Serait-il possible de le mettre sur un forum?

Commentaire de Zap le 04/05/2009 22:10:40

Voir directement sur le forum GDImage qui se trouve ici:
http://www.jose.it-berater.org/smfforum/index.php?board=348.0

Commentaire de Barbieplugin le 05/05/2009 09:25:23

Excuse moi, mais je n'ai que 14 ans et je ne parle pas encore très bien l'anglais...

Quel logiciel dois-je télécherger pour pouvoir ouvrir ton carousel 3d?

Par la suite, pourrais-je le mettre sur un forum ?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Cherche de l'aide en Animation 3D [ par Manu94600 ] Salut à tous, J'aurais besoin de votre aide. En fait j'ai pas de problème, enfin pas encore :). J'ai juste envi de débuter dans la 3D avec C#. Je ch Animation temps réel d'avatar 3D [ par zanzan ] Bonjour Je cherche une API pour afficher un personnage 3d que je pourrais animer en temps réel, le tout sous c#. L'idée est de le faire réagir en fonc comment inserer une animation flash? [ par safou09 ] Salut à tous comment insérer une animation flash ou un bouton flash dans une application développée avec CSharp :Visual studio 2008 et merci d'avance Trajectoire 2D et 3D [ par Teclis01 ] Bonjour, Après quelques recherches infructueuses autant de mon côté que sur Google, je ne trouve rien sur les trajectoires 2D et 3D. J'avais fait un integrer une animation Blend dans une application wpf [ par noussagh ] Bonjour j'ai réalisé une animation avec Expression Blend 3 et je veux l'intégrer dans mon application wpf réalisée avec Microsoft Visual C# Express [directX débutant] comment effacer le buffer avant d'en lancer un nouveau [ par draonix ] Bonjour c'est encore moi [^^clinoeil1] Bon cette fois, j'ai un problème que je n'arrive pas à résoudre. Je lance d'une Form où des paramètres sont tap [XNA] charger une animation d'un fichier xna [ par audain ] Bonjour, je souhaiterais demander aux quelques connaisseurs d'xna. Comment charger une animation a partir d'un fichier .fbx et la lancer sur un objet insertion d'une animation flash (avancé) ? [ par EmacLi ] Bonjour, On peux trouver sur internet 1001 copies du même sujet concernant une intégration basique d'une animation flash dans un winform : http://ww viewer 3D [ par survcopt ] Je cherche à afficher un objet 3D n'importe quel format et le faire bouger par rapport à un repère fixe afin de visualiser l'attitude l'objet en tps r Inclure de la 3D dans un cadre [ par natinusala ] Bonsoir, Je cherche à inclure un cadre contenant de la 3D dans mon application. J'ai cherché sur Internet mais je n'ai rien trouvé à part XNA qui n'e


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,699 sec (4)

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