Procedural Generator (C++)

Description

This is an application that can load various image treatment plug-ins.

Features

  • Recording videos, using OpenCV or ffmpeg
  • Compatible with OpenCL

Workflow

The main application loads the plug-ins, selects the current plug-in, displays their computation results.

The plug-ins' job is made in 2 steps : image computing then image display.
  • The display step uses OpenGL and allows the use of GLSL shader language.
  • The compute step is multi-threaded in order to fasten the computations.
  • Some plug-ins only use computing step (Perlin Noise, Life Game, ...), others use only the display step (Shader Effects, Text Effects).

Version 2.0.0

Date : 2015-03-30

Features

  • New plug-in: OCLProgramming, to do image processing via OpenCL kernels.
    Frost effect through an OpenCL kernel
  • Generator is now a shared library.
  • Configuration panel is now displayed using overlays.
    Configuration panel example. Hidden configuration panel.
  • Removed dependency to wxWidgets for Generator and the plug-ins.
  • Complete review of CPU and GPU steps imbrication.
  • Can now record videos, using OpenCV or ffmpeg.

Downloads



Version 1.3.2

Date : 2013-07-30

Features

  • New plugin : GPU programmation, similar to Shader Effects with less limitations : image is optional and vertex shader too.
    Chocolux Mandelbulb You Massive Clod Leizex Slisesix To the road a ribbon
  • You can now go fullscreen using a double clic on the main window
  • Added new resolutions

Downloads




Version 1.3.0

Date : 2012-07-16

Features

  • Revised thread system : the generators now are threaded and extend also wxEvtHandler.
  • Revised communication between generator and worker threads : it is done through events.
  • Generators and worker thread are detached threads (no more joinable).
  • Revised ConfigPanel creation : the generators now hold the structure of the panel, the panel is created in main application (useful on MS-Windows so no more trouble from memory management between DLLs and main application).
  • Revised communication between generators and their ConfigPanel, all is now managed through events.

Bugs corrections

  • Corrected Gaussian Blur in ImageEffects plugin
  • Corrected a DiffusionLimitedAggregation crash in non square resolutions.
  • Corrected ShaderWebcam on GNU/Linux.

Downloads



Version 1.2.3.0

Date : 2012-06-20

Features

  • New plugin : ShaderWebcam, to apply GLSL shaders over a webcam video.
    Explosion shader applied to the cam
  • Dropped boost/std threads, using wxThreads instead.
  • Improved texture update from ram, using 2 Pixel Buffer Objects
  • Modified the CMakeLists.txt in order to have a binaries directory that looks like GNU/Linux install.
  • Added FindOpenCV in cmake_modules folder. I have taken the one available on OpenCV Wiki, but modified it a bit to take care of most recent versions of it.
  • Removed the static BufferDeclaration and BufferDeclarationElements, because it caused the close crash.

Bugs corrections

  • Corrected a GUI lack of response, increasing the render loop timer time.

Downloads



Version 1.2.2.0

Date : 2011-09-08

Features

  • Life game is correctly implemented
    Life game
  • I use a bugged version of game life to try to make a water procedural texture
    Bugged life game
  • Diffusion Limited Aggregation pluggin
    Diffusion Limited Aggregation
  • Added a configuration panel for the different generators
    Configuration panel
  • Perlin Noise Generator added
    Perlin Noise Turbulences Perlin Noise Marble Configurable Perlin Noise
  • Threaded the generation processes in order to keep a good control over GUI
  • Voronoï diagram implementation
    Voronoï Diagram (Order 4 Minkowski distance) Taking care of 32 seeds to compute the colors
  • Software image post-processing plugin
    Image loaded One effect applied Applied a second effect
  • Hardware image post-processing plugin via GLSL
    Shader applied over an image Same implosion effect as the one in software version Recursively applied shaders
  • Text display plugin, using OpenGL and FreeType
    Texture with coloured text Texture with textured text
  • Window is now resizable
  • You can now print the screen (to save a texture)
  • More coloured life game version (cells die progressively)
    Coloured Life Game
  • Iterated Function Systems pluggin
    Iterated Function System

Downloads




Image Large