Skip to content

CedricGuillemet/Imogen

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
bin
 
 
ext
 
 
src
 
 
 
 
 
 
 
 
 
 

Imogen

GPU/CPU Texture Generator

GPU Texture generator using dear imgui for UI. Not production ready and a bit messy but really fun to code. This is an hybrid project that can run natively or on the web (thanks to emscripten). Basically, add GPU and CPU nodes in a graph to manipulate and generate images. A web build is available here : http://skaven.fr/imogen/ Image of Imogen 0.13 Web Edition Currently nodes can be written in GLSL or C or Python.

Image of Imogen 0.9 Image of Imogen 0.9

Use CMake and VisualStudio to build it. Windows and web builds are available.

Web Edition limitations:

  • no threaded jobs
  • no C/Python nodes
  • no Python plugins
  • no file load/save

Features:

  • Node based texture editing
  • material library browser
  • edit/change node shaders inside the app
  • bake textures to .png, .jpg, .tga, .bmp, .hdr, mp4
  • PBR preview
  • timeline for parameters animation

Currently implemented nodes

  • circle and square generator
  • sine generator
  • checker transform
  • transform
  • Mul/Add
  • smoothstep
  • pixelize
  • blur
  • normal map from height map
  • sphere/plan previewer
  • Hexagon
  • Mul-Add colors
  • Blend (add, mul, min, max)
  • Invert color
  • Circle Splatter
  • Ramp
  • Tile
  • Polar coordinates
  • ...

Check the project page for roadmap.


This software uses the following (awesome) projects:

Dear ImGui - Omar Cornut https://github.com/ocornut/imgui

stb_image, stb_image_write - Sean T. Barett https://github.com/nothings/stb

EnkiTS - Doug Binks https://github.com/dougbinks/enkiTS

Tiny C Compiler - Fabrice Bellard https://bellard.org/tcc/

SDL2 - https://www.libsdl.org/

NativeFileDialog - Michael Labbe https://github.com/mlabbe/nativefiledialog

gl3w - Slavomir Kaslev https://github.com/skaslev/gl3w

TinyDir - https://github.com/cxong/tinydir

cmft - cubemap filtering tool - Dario Manesku https://github.com/dariomanesku/cmft

dear imgui color scheme - codz01 ocornut/imgui#1902 (comment)

FFMPEG - Fabrice Bellard

Python 3 - Python.org

pybind 11 - https://github.com/pybind/pybind11

RapidJSON - https://github.com/Tencent/rapidjson

nanosvg - Mikko Mononen https://github.com/memononen/nanosvg

GLSL-PathTracer - knightcrawler25 https://github.com/knightcrawler25/GLSL-PathTracer

imgui_markdown - Juliette Foucaut https://github.com/juliettef/imgui_markdown

CGLTF - Johannes Kuhlmann https://github.com/jkuhlmann/cgltf