wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 4

Valid XHTML 1.0 Transitional

Valid CSS2

Menu Projets (navigation):
Pages: 1    Accueil » Projets » Applications complètes
» ProceduralGenerator
Détails du projet : ProceduralGenerator
Informations sur l'auteur de ce projet :


Hors ligne
dragonjoker (Nouveau membre)
Lieu: Bras d'Asse (04)
Inscrit le : 16-01-2012
Messages: 9
Snippets: 0
Tutoriels: 0
Capture d'écran

Capture

Introduction / Description :
Procedural Generator est une application permettant de chager divers plugins de traitement d'image.
L'application principale charge les plugins, permet la sélection d'un plugin et affiche le résultat de sont travail.
Le travail des plugins est découpé en 2 étapes :
- 1ère étape : CPU step : calcul d'image en utilisant le CPU.
- 2ème étape : GPU step : Post-traitement de l'image obtenue via le GPU.
Certains plugins peuvent n'utiliser que la CPU step, tels que Perlin Noise, Life Game ou Diffusion Limited Aggregation.
D'autres peuvent n'utiliser que la GPU step, tels que Shader Effects ou Text Effects.
La GPU step utilise OpenGL et permet l'utilisation des shaders GLSL.
La CPU step est multithreadée afin d'accélérer les calculs.
Fichier zip du projet :

  Taille du fichier : 409.71 Ko
Téléchargé : 1175 fois.

Télécharger le fichier pour l'enregister
Explications finales :
Le zip contient les sources du projet.
Le projet se compile en utilisant CMake.

Update 17/01/2012
Suite aux remarques de Xaviou, suppression de nullptr.
Modification de wxStatusUpdateEvent pour qu'il fonctionne avec wxGTK

Update 14/05/2012
Ajout du plugin ShaderWebcam (utilise OpenCV).
Suppression des threads std/boost, utilisation des wxThreads.
Amélioration de la mise à jour des textures, en passant par 2 Pixel Buffer Objets.
Modification du fichier CMakeLists afin d'avoir un dossier 'binaries' permettant l'install sous GNU/Linux.
Ajout dun fichier FindOpenCV.cmake dans le dossier cmake_modules afin de pouvoir charger cette lib.
Suppression des membres statiques BufferDeclaration et BufferDeclarationElements à cause d'un crash que leur présence générait.
Commentaires
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Hello.

Ça m'a l'air pas mal du tout cette application.
Par contre, je n'ai pas réussi à la compiler (problème avec boost).
Mais je ne suis pas un fortiche de cmake.

Voici l'erreur obtenue :

Code:

 
C:\dev\ProceduralGenerator\build>mingw32-make
[  3%] Building CXX object CMakeFiles/LibGenerator.dir/source/LibGenerator/BufferElement.cpp.obj
In file included from C:/MyLibs/boost/include/boost/smart_ptr/detail/spinlock_sync.hpp:18:0,
                 from C:/MyLibs/boost/include/boost/smart_ptr/detail/spinlock.hpp:38,
                 from C:/MyLibs/boost/include/boost/smart_ptr/detail/spinlock_pool.hpp:25,
                 from C:/MyLibs/boost/include/boost/smart_ptr/shared_ptr.hpp:37,
                 from C:/MyLibs/boost/include/boost/shared_ptr.hpp:17,
                 from C:/MyLibs/boost/include/boost/date_time/microsec_time_clock.hpp:18,
                 from C:/MyLibs/boost/include/boost/thread/thread_time.hpp:9,
                 from C:/MyLibs/boost/include/boost/thread/win32/basic_timed_mutex.hpp:15,
                 from C:/MyLibs/boost/include/boost/thread/win32/basic_recursive_mutex.hpp:13,
                 from C:/MyLibs/boost/include/boost/thread/win32/recursive_mutex.hpp:14,
                 from C:/MyLibs/boost/include/boost/thread/recursive_mutex.hpp:14,
                 from C:/dev/ProceduralGenerator/include/LibGenerator/PrecompiledHeader.h:63,
                 from C:\dev\ProceduralGenerator\source\LibGenerator\BufferElement.cpp:1:
C:/MyLibs/boost/include/boost/smart_ptr/detail/yield_k.hpp:58:48: warning: declaration of 'void boost::detail::Sleep(unsigned int)' with C language linkage C:/MyLibs/boost/include/boost/thread/win32/thread_primitives.hpp:122:54: warning: conflicts with previous declaration 'void boost::detail::win32::Sleep(long unsigned int)'
In file included from C:/MyLibs/boost/include/boost/thread/thread.hpp:22:0,
                 from C:/dev/ProceduralGenerator/include/LibGenerator/PrecompiledHeader.h:65,
                 from C:\dev\ProceduralGenerator\source\LibGenerator\BufferElement.cpp:1:
C:/MyLibs/boost/include/boost/thread/detail/thread.hpp: In function 'boost::thread&& boost::move(boost::thread&&)':
C:/MyLibs/boost/include/boost/thread/detail/thread.hpp:339:16: error: invalid initialization of reference of type 'boost::thread&&' from expression of type 'boost::thread'
C:\dev\ProceduralGenerator\source\LibGenerator\BufferElement.cpp: In copy constructor ProceduralTextures::BufferElement::BufferElement(const ProceduralTextures::BufferElement&)':
C:\dev\ProceduralGenerator\source\LibGenerator\BufferElement.cpp:86:15: error: 'nullptr' was not declared in this scope
C:\dev\ProceduralGenerator\source\LibGenerator\BufferElement.cpp: In destructor 'virtual ProceduralTextures::BufferElement::~BufferElement()':
C:\dev\ProceduralGenerator\source\LibGenerator\BufferElement.cpp:142:15: error: 'nullptr' was not declared in this scope
C:\dev\ProceduralGenerator\source\LibGenerator\BufferElement.cpp: In member function 'ProceduralTextures::BufferElement& ProceduralTextures::BufferElement::operator=(const ProceduralTextures::BufferElement&)':
C:\dev\ProceduralGenerator\source\LibGenerator\BufferElement.cpp:186:15: error: 'nullptr' was not declared in this scope
C:\dev\ProceduralGenerator\source\LibGenerator\BufferElement.cpp: In member function 'void ProceduralTextures::BufferElement::LinkCoords(void*)':
C:\dev\ProceduralGenerator\source\LibGenerator\BufferElement.cpp:222:15: error: 'nullptr' was not declared in this scope
In file included from C:/MyLibs/boost/include/boost/thread/win32/thread_data.hpp:12:0,
                 from C:/MyLibs/boost/include/boost/thread/thread.hpp:15,
                 from C:/dev/ProceduralGenerator/include/LibGenerator/PrecompiledHeader.h:65,
                 from C:\dev\ProceduralGenerator\source\LibGenerator\BufferElement.cpp:1:
C:/MyLibs/boost/include/boost/thread/win32/thread_heap_alloc.hpp: In function 'T* boost::detail::heap_new(A1&&) [with T = boost::detail::thread_data<void (*)()>, A1 = void (*&)()]':
C:/MyLibs/boost/include/boost/thread/detail/thread.hpp:130:95:   instantiated from here
C:/MyLibs/boost/include/boost/thread/win32/thread_heap_alloc.hpp:96:72: error: cannot bind 'void (*)()' lvalue to 'void (*&&)()'
C:/MyLibs/boost/include/boost/thread/detail/thread.hpp:43:13: error:   initializing argument 1 of 'boost::detail::thread_data<F>::thread_data(F&&) [with F = void (*)()]'
mingw32-make[2]: *** [CMakeFiles/LibGenerator.dir/source/LibGenerator/BufferElement.cpp.obj] Error 1
mingw32-make[1]: *** [CMakeFiles/LibGenerator.dir/all] Error 2
mingw32-make: *** [all] Error 2

Je regarderais ça plus en détails à tête reposée.

Merci pour le projet, et @+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
dragonjoker (Nouveau membre)
Lieu: Bras d'Asse (04)
Inscrit le : 16-01-2012
Messages: 9
Snippets: 0
Tutoriels: 0
Site web
Hors ligne
Ah, apparemment le problème ne vient pas seulement de boost mais aussi du fait que ton compilateur ne reconnait pas nullptr. Tu sais quelle version de gcc ton MinGW utilise ?

Dernière modification par dragonjoker (17-01-2012 21:20:37)

Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut.

J'utilise la version 4.5.2-TDM.

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
dragonjoker (Nouveau membre)
Lieu: Bras d'Asse (04)
Inscrit le : 16-01-2012
Messages: 9
Snippets: 0
Tutoriels: 0
Site web
Hors ligne
et aussi, quelle version de boost as-tu ?
Pour nullptr, il va falloir que je les enleve pour que tu puisses le compiler (de toute façon ce n'est pas fondamental)
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Bon, plutôt que d'encombrer les commentaires, j'ai démarré un topic : http:/www.wxdev.fr/topic681-Erreur_comp … rator.html

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
Menu Projets (navigation):
Pages: 1    Accueil » Projets » Applications complètes
» ProceduralGenerator