Procedural Generator

Presentation

Procedural Generator is an application that can load various image generation / post processing plug-ins (generators).
The main application loads the plug-in, allows plug-in selection, displays computation results.
The plug-ins’ job is made in 2 steps:

  • 1st step: CPU step: image computing using CPU computations.
  • 2nd step: GPU step: image post-processing using GPU through GLSL shaders.

The GPU step uses OpenGL and allows the use of GLSL shaders.
The CPU step is multi-threaded in order to fasten the computations.
Some plug-ins only use CPU step, such as Perlin Noise, Life Game, Diffusion, Limited aggregation.
Some others use only the GPU step, such as Shader Effects, Text Effects.
Others can use both, such as Shader Webcam.

Features

  • Multithreaded CPU computations.
  • Generators as plug-ins.
  • Snapshot recodring.
  • Video recording (Version 2.0.0)

Generators

  • Life Game
    pg_lifegame_1
  • Bugged 😛 Life Game
    pg_bugged_1
  • Coloured Life Game
    pg_colouredlg1
  • Perlin Noise (marble, turbulences, parametered)
    pg_perlin_noise3
    pg_perlin_noise2
    pg_perlin_noise1
  • Voronoï diagrams, with distance function choice: euclidian, squared euclidian, manhattan, minkowski, chebychev
    Voronoi33Neighbour
    Voronoi1Neighbour
  • Iterated Function Systems (Sierpinski carpet, Sierpinski gasket, Koch curve, …)
    pg_ifs1
  • Limited Diffusion Aggregation
    pg_dla1
  • CPU Post processing: Gaussian blur, Linear and Anisotropic noise reduction, Edge enhancement, …
    pg_image_effects1
    pg_image_effects2
    pg_image_effects3
  • GPU Post processing via GLSL shaders
    pg_shader_effects3
    pg_shader_effects2
    pg_shader_effects1
  • Webcam capture + GPU Post processing via GLSL shaders
    pg_shader_webcam
  • GLSL demo player
    pg-gpu_6
    pg-gpu_4
  • Text effects
    pg_text_effects2
    pg_text_effects1
  • OpenCL Post processing (Version 2.0.0)
    6_79

Leave a Reply

Your email address will not be published. Required fields are marked *