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


|
Menu Projets (navigation): |
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
|
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.
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.
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): |
|