Lumo is a realtime lab software arount 3D models
Lumo is "Light" in Esperanto, its a short and pretty word to me :)
- Implement all realtime rendering Algo used in Games / realtime Presentation softwares
- Mastering all theses tech for learning purposes
- Implement my own idea ( by ex related to SubSurface Scatering, or Shadows )
- Implement a modern use of 3D vulkan Api, and Node Graph related stuff
- Can Render mesh's or sdf's in the same way
- And finally can export rendering to picture, video, and maybe a self little portable binary form to be used everywhere
- Implement some specific VFX algo by plugigns like (compute based mesh sim, morphogenesis, sdf meshing)
- all these algos at max as possible in GPU only (include mesh generation)
at least, support all rendering features and result of the SketchFab Renderer (yes im loving it haha)
- Create a new project (automatically saved when you quit the soft for the moment for easier dev)
- Click right in the graph and add nodes.
- Left mouse double click on a texture slot (Orange) of nodes for show the result in the 3d viewport
- Middle mouse double click on a texture slot (Orange) of nodes for show the result in the 2d viewport
- select a node and you can tune it in the tuning pane
thats all
Succesfully Tested with Vulkan SDK 1.3.224.1
You need to use cMake. You can use the gui (my prefered way). but, if you run cmake by command line, For the 3 Os (Win, Linux, MacOs), the cMake usage is exactly the same,
Choose a build directory. (called here my_build_directory for instance) and
Choose a Build Mode : "Release" / "MinSizeRel" / "RelWithDebInfo" / "Debug" (called here BuildMode for instance)
Run cMake in console : (the first for generate cmake build files, the second for build the binary)
cmake -B my_build_directory -DCMAKE_BUILD_TYPE=BuildMode cmake --build my_build_directory --config BuildMode
Some cMake version need Build mode define via the directive CMAKE_BUILD_TYPE or via --Config when we launch the build. This is why i put the boths possibilities
all libs and code used here are cross platform, so compatible (win, linux).
The mac platform is not supported for the moment, due to the vulkan driver. Could be tested at some stage with the Molten-VK implementation..
Audiart Plugin :
Audio Manipulation for Art
Published | Open Source | Free | status |
---|---|---|---|
✔️ | ✔️ | ✔️ |
BluePrints Plugin :
Blue Print node system like in Unreal Engine for shaders
Published | Open Source | Free | status |
---|---|---|---|
❌ | ❌ | ❌ |
Published | Node | status |
---|
Code Generator Plugin :
This plugin not expose nodes, but a pane for easy node generation ready to compile. you can set inputs and outputs of one or many nodes. then with one operation, generate base cades for :
- node class
- module class
- pass class
Published | Open Source | Free | status |
---|---|---|---|
✔️ | ✔️ | ✔️ |
Landscape Plugin :
Landscape generation
Published | Open Source | Free | status |
---|---|---|---|
❌ | ✔️ | ✔️ |
Published | Node | status |
---|
Lighting Plugin :
Published | Open Source | Free | status |
---|---|---|---|
✔️ | ✔️ | ✔️ |
MeshGen Plugin :
Mesh generation
Published | Open Source | Free | status |
---|---|---|---|
✔️ | ✔️ | ✔️ |
MeshSim Plugin :
Simulation on mesh without texture or uv map
Published | Open Source | Free | status |
---|---|---|---|
❌ | ❌ | ✔️ |
Published | Node | status |
---|---|---|
❌ | Lighting / Shadow Map Node | |
❌ | Modifiers / Simulator Node | |
❌ | Renderers / Renderer Node |
MeshSSS Plugin :
My Mesh Sub Surface Scattering (SSS) Idea
Published | Open Source | Free | status |
---|---|---|---|
❌ | ❌ | ✔️ |
Published | Node | status |
---|
Misc Plugin :
Many misc nodes
Published | Open Source | Free | status |
---|---|---|---|
✔️ | ✔️ | ✔️ |
Published | Node | status |
---|---|---|
✔️ | Misc / Layering Node | |
✔️ | Misc / Sdf Texture Node | |
✔️ | Modifiers / Smooth Normals Node | |
✔️ | Tesselation / Alien Rock Node |
MorphoGenesis Plugin :
Morphogenesis Nodes like on https://github.com/jasonwebb/morphogenesis-resources
Published | Open Source | Free | status |
---|---|---|---|
❌ | ❌ | ❌ |
Published | Node | status |
---|
Particles Plugin :
GPU particles nodes
Published | Open Source | Free | status |
---|---|---|---|
✔️ | ✔️ | ✔️ |
Published | Node | status |
---|---|---|
✔️ | Emitters / Point Emitter Node | |
❌ | Simulation / Simulation Node | |
❌ | Constraints / Force Node |
Planet System Plugin :
A generation of planet system, like in Universe Sandbox
Published | Open Source | Free | status |
---|---|---|---|
✔️ | ✔️ | ✔️ |
Published | Node | status |
---|---|---|
✔️ | Planet Node |
Post Processing Plugin :
Post Processing Effects
There is a summary nodes for all effects
Published | Open Source | Free | status |
---|---|---|---|
✔️ | ✔️ | ✔️ |
Screen Space Plugin :
Many nodes of Simulation
Published | Open Source | Free | status |
---|---|---|---|
✔️ | ✔️ | ✔️ |
Simulation Plugin :
Many nodes of Simulation
Published | Open Source | Free | status |
---|---|---|---|
✔️ | ✔️ | ✔️ |
RTX Plugin :
Ray Tracing Integration (RTX)
Published | Open Source | Free | status |
---|---|---|---|
✔️ | ✔️ | ✔️ |
Published | Node | status |
---|---|---|
✔️ | Builders / Model to Accel Structure Node | |
✔️ | Renderers / Model Shadow Node | |
✔️ | Renderers / PBR Node | |
❌ | Renderers / SSS Node |
SdfEditor Plugin :
Sdf Editor like Magica CSG
Published | Open Source | Free | status |
---|---|---|---|
❌ | ❌ | ❌ |
Published | Node | status |
---|
SdfMesher Plugin :
Sdf to Mesh Generation
Published | Open Source | Free | status |
---|---|---|---|
❌ | ❌ | ❌ |
Published | Node | status |
---|
SoGLSL Plugin :
Scripting Over GLSL system for write shaders
Published | Open Source | Free | status |
---|---|---|---|
❌ | ❌ | ❌ |
Published | Node | status |
---|
UVDiffMap Plugin :
UV Mapper of high def Model based of Vertex Diffusion
Published | Open Source | Free | status |
---|---|---|---|
❌ | ❌ | ❌ |
Published | Node | status |
---|
Voxel Plugin :
Voxel Manipulation like Magicavoxel
Published | Open Source | Free | status |
---|---|---|---|
❌ | ✔️ | ✔️ |
Published | Node | status |
---|
VR Plugin :
Virtual Reality integration
Published | Open Source | Free | status |
---|---|---|---|
❌ | ✔️ | ✔️ |
Published | Node | status |
---|
v0.3.802 (Vulkan 1.2) :
A bloom effect implemented whith nodes
v0.2.798 (Vulkan 1.0) :
My Shadow mapping (max 8 lights), diffuse, specular and SSAO
v0.2.32 (Vulkan 1.0) :
My MeshSim plugin, with a basic deferred renderrer, one light shadow + ssao
- Glslang (BSD-3)
- Glfw (Zlib)
- Tinyxml2 (Zlib)
- Efsw (MIT)
- Glm (GLM)
- Stb (MIT/Public)
- Dear ImGui (MIT)
- Freetype2 (Freetype)
- ImGuiColorTextEdit (MIT)
- LodePng (Zlib)
- VulkanHPP (Apache 2.0)
- ImGuiMarkDown (Zlib)
- AlphaNum (MIT) github mirror
- Cpp_Ipc (MIT)
- imgui_node_editor (MIT)
- ImGuizmo (MIT)
- assimp (ASSIMP)
- zlib (Zlib)
- taskflow (MIT)
- Tracy (BSD-3)
- glsl-tone-map (MIT)
- ctools (MIT)
- ImGuiFileDialog (MIT)
- BuildInc (MIT)