From e5be0d567ce73ed4f9771ce454f15fcddd0a69a5 Mon Sep 17 00:00:00 2001 From: klemek Date: Mon, 10 Nov 2025 18:24:58 +0100 Subject: [PATCH] docs: update README --- README.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f6980d1..9ddce0f 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,22 @@ Here are some pointers if you want to customize your FORGE experience: ![](./docs/forge.drawio.png) -TODO +FORGE is an engine rendering a project into visuals. + +Using OpenGL GLSL language, it talks to your graphic card to generate layers of textures defined by the fragment shaders and outputs it to your screen. + +Here's a quick rundown of the process: + +1. Reads the `forge_project.cfg` defined in the project folder. +2. Reads the `.glsl` files, including common parts while parsing them. +3. Creates and links all the OpenGL elements (programs, uniforms, textures, framebuffers, etc.) +4. Creates a [GLFW](https://www.glfw.org/) window +5. (optional) Connects to a MIDI controller (ALSA library) and read events to the background +6. (optional) Opens a video device stream (V4L2 library) and read buffers in the background +7. Updates context and pass it to the OpenGL programs (time, resolution, state, etc.) +8. Renders each texture from its OpenGL program +9. Renders window +10. Repeat at step 7 ## Install