Procedural Generator

Présentation

Il s’agit d’une application permettant de charger divers plugins de génération / traitement d’image (générateur).
L’application principale charge les générateurs, permet la sélection du générateur actif et affiche le résultat de son travail.
Le travail des générateurs est découpé en 2 étapes :

  • 1ère étape : CPU step : génération d’image en utilisant le CPU.
  • 2ème étape : GPU step : traitement d’image via le GPU.

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.
Certains générateurs peuvent n’utiliser que la CPU step, tels Perlin Noise, Life Game ou Diffusion Limited Aggregation.
D’autres peuvent n’utiliser que la GPU step, tels Shader Effects ou Text Effects.
Certains enfin peuvent utiliser les 2, tel Shader Webcam.

Fonctionnalités

  • Calculs CPU multithreadés
  • Les générateurs sont des plugins pour plus de flexibilité
  • Enregistrement du résultat en image
  • Enregistrement du résultat en vidéo (Version 2.0.0)

Générateurs

  • Jeu de la vie classique
    pg_lifegame_1
  • Jeu de la vie buggé 😛
    pg_bugged_1
  • Jeu de la vie coloré
    pg_colouredlg1
  • Perlin Noise (marbre, turbulences, parametré)
    pg_perlin_noise3
    pg_perlin_noise2
    pg_perlin_noise1
  • Diagrammes de Voronoï (distances euclidienne, euclidienne au carré, manhattan, minkowski, chebychev)
    Voronoi33Neighbour
    Voronoi1Neighbour
  • Iterated Function Systems (Sierpinski carpet et gasket, Koch curve, …)
    pg_ifs1
  • Limited Diffusion Aggregation
    pg_dla1
  • Post-traitement d’image sur le CPU (flou gaussien, réduction de bruit anisotropique et lineaire, accentuation des contours …)
    pg_image_effects1
    pg_image_effects2
    pg_image_effects3
  • Post-traitement d’image sur le GPU (via GLSL)
    pg_shader_effects3
    pg_shader_effects2
    pg_shader_effects1
  • Webcam + post-traitement d’image sur le GPU (via GLSL)
    pg_shader_webcam
  • Programmation GLSL pour faire des démos
    pg-gpu_6
    pg-gpu_4
  • Effets sur texte
    pg_text_effects2
    pg_text_effects1
  • Traitement d’image via OpenCL (Version 2.0.0)
    6_79

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.