FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
Hors-sujet
→
Image 2D en 3D (projet GDImage)
Image 2D en 3D (projet GDImage)
Débuté par Patrice TERRIER, 09 jan. 2015 15:54 - Aucune réponse
Connectez-vous…
Patrice TERRIER
#1
Membre enregistré
150 messages
Popularité : +15 (15 votes)
Posté le 09 janvier 2015 - 15:54
Ce projet WD17, transforme n'importe quelle image 2D en un nuage de particules 3D.
Le nuage de particules est composé de 131072 points qui peuvent être animés en temps réel.
Vous pouvez choisir l'une des images dont le nom figure dans la liste qui se trouve en bas à droite.
Ou utiliser le tiré déplacé depuis l'explorateur, avec une image de type .png, .jpg, .gif, .tif, .bmp de n'importe quelle taille.
Le code WinDev est l'exacte transposition d'un projet C++ écrit avec Visual Studio (source disponible sur demande).
A l'exception du nuage de particule dont le rendu est effectué par l'API GDImage "GL_DrawCloud", l'ensemble du traitement temps réel est effectué dans la procédure "gl_DrawScene".
Les performances de la version WinDev sont identiques à celles du C++, car les traitements critiques sont effectués par GDImage qui utilise les extensions OpenGL implantées au niveau du GPU (carte graphique).
Avec un I7 multi cœur et une bonne carte graphique, l'utilisation CPU est inférieure à 1%, même lorsque l'option animation est cochée.
Capture d'écran:
(application "skinnée" avec le thème "Scaff" de WinLIFT)
Utilisation du zoom :
Vous pouvez utiliser indifféremment la molète centrale de la souris, ou le potentiomètre vertical.
Utilisation de la souris :
Le bouton gauche permet de voir l'image sous tous les angles.
Le bouton droit permet d'effectuer une translation selon l'axe horizontal ou vertical.
Changement de palette :
Choisir dans liste l'un des noms préfixé par "pal_".
Sélectionner "pal_image.png" pour revenir aux couleurs d'origine de l'image.
Note : le changement de palette concerne uniquement le nuage de particules.
A propos du code source :
Il est destiné aux programmeurs qui connaissent la syntaxe du SDK Windows bas niveau,
Il utilise directement la "Flat API" pour privilégier la vitesse et limiter la taille en utilisant le framework WinDev minimum.
A savoir uniquement 3 DLL(s) :
1 - "Machine virtuelle"
2 - "Fonctions mathématiques"
3 - "Fonctions standard"
Le point d'entrée du programme se trouve dans la procédure dont le nom est "MainWindow" qui est appelé directement depuis le code du projet.
Il n'y a ni fenêtre ni aucun champ WinDev, la fenêtre principale et les fenêtres filles sont créées directement avec l'API "CreateWindowEx".
Le conteneur GDImage/OpenGL est subclassé dans la fonction "gl_WndProc" afin de pouvoir interagir avec la souris et gérer le "drag and drop".
Le traitement temps réel est effectué à une fréquence de 60Hz compatible avec celle de DirectDraw.
Le "SkinEngine" "WinLIFT"fonctionne en mode DWM composé (visible au niveau du dégradé dessiné autour de la fenêtre principale lorsqu'on la déplace sur un fond blanc).
Le déplacement ou le redimensionnement de la fenêtre principale ne bloque pas l'animation lorsque celle-ci est active.
A quoi çà sert :
Outre son aspect ludique, le nuage de point peut servir dans le cadre de rendu de surfaces géodésiques, ou pour représenter des niveaux de températures avec une finesse plus précise que celle des cartes météo classiques.
Il est également possible d'utiliser des vecteurs à la place du nuage de points, ou d'utiliser des points de tailles variables.
Lien de téléchargement :
http://www.zapsolution.com/preview/pix3D_32.zip
Note : Le projet a été créé avec WD17, mais il devrait fonctionner sans problème avec les versions supérieures.
Vous devez débloquer le ZIP avant de décompresser les fichiers pour éviter tout problème d'UAC.
--
Patrice Terrier
www.zapsolution.com
Signaler
0
0
→ Revenir à Hors-sujet
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Hors-sujet
Outils
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte