begin process at 2010 02 10 12:40:37
  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é :35 129 / 3 327

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) NOTIFICATIONS DANS UN DELEGATE ASYNCHRONE par olivieram2
Source avec Zip Source avec une capture Source .NET (Dotnet) PIXEL SHADER - CRÉATION, UTILISATION, ET BINDING par yoannd
Source avec Zip Source avec une capture Source .NET (Dotnet) UITYPEEDITOR HACKING, PROPERTYGRID ET LISTVIEW CONFIGURABLES... par gourky
Source avec Zip Source .NET (Dotnet) CONVERTION D'UNE IMAGE EN G-CODE, GRAVURE CNC par gourky
Source avec Zip Source .NET (Dotnet) CAROUSEL EN WPF (USERCONTROL) par CoolSpirit

 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 3D dans WindowsForm [ par scottmat ] Bonjours à tous Je souhaiterais créer un petit programme avec animation flash dans un formulaire [ par rghribi ] salut, comment ajouter une animation flash (digital clok) dans mon formulaire? j'ai bien ajouté les references de flash mais c'est le code qui compte équivalent OpenGL en DirectX ? [ par slmnsnts ] Bonjour, <p class="MsoNormal" style="MARGIN recherche programeurs pour projet 3D [ par virus5925 ] bonsoir as tous, je vient ici vous voir car j'aimeré mené as bien un projet qui me tien particulierement as coeur, comme vous devez le savoir, mr lind De 3DSMAX vers C#/OpenGL [ par Maitre_Gonzo ] Bonjour tout le monde,Débutant dans le domaine de la 3D, je suis entrain de développer un petit jeu pour me faire la main. Pour se faire, j'utilise 3D Textes 2D dans monde 3D [ par asagran ] Est-ce que quelqu'un sait comment afficher du texte dans un environnement 3D tout en faisant en sorte que les coordonnées du texte (des noms d'étoiles les principe de la programmation 2D et 3D avec DirectX [ par goldziko9 ] Salut tous monde.      Je suis un debutant dans le domaine de la programmation 2D et 3D. j'ai un bon niveau en programmation avec les languages : C#, c# [ par saberhenry ] S.Henry j'ai une série de question à propos de la plateforme dotnet précisament le langage c# :1/ comment je peut faire l'animation sur un bouton 2/co Interaction avec une Form sans prise de focus (Virtual Keyboard) [ par albundy91 ] Salut à tous,Je me permet de venir vers vous car me voilà confronté à un problème pour lequel je suis à cours d'idées et de capacité pour le résoudre


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