INTRODUCTION
Hi everyone,
Brecht suggested me to create a talk so that I could present my project and discuss it, so here it is.
Following on from the features I’ve recently developed with Brecht’s help, I’d like to bring new functionality to lights. (cf: #136905 - Render: Lights: Add new features - blender - Blender Projects)
The subject of this talk would be to create a new way of positioning lights in blender according to normals, light reflection or the shadow cast by an object relative to the light.
I’ve already created an available addon/extension (Lumos) that I invite you to install and test. This will provide a proof of concept.
Being limited with python, my addon/extension uses a custom tool to activate modals.
TECHNICALS
At the moment no individual PR have been created for that but I could do one if you ask me.
I will be available in the next days/weeks and I will start the development.
I would like to have your ideas and opinions about that.
EDIT : After some reflexion, brainstorming and discussion here some potential use cases:
1. Light Edit Mode
Concept
Introduce a new Edit Mode similar to existing modes for objects/meshes, but dedicated to lights.
Advantages
- Establishes a clear and familiar context for users, consistent with Blender’s existing design.
- Enables a dedicated keymap, for example:
- Use
1,2,3to switch between different light placement modes(Normal, Specular, Shadow). - Use E to change the energy
- Use C to change the color
- … etc
- Use
- Creates a logical separation between Object Mode, Mesh Edit Mode, and Light Edit Mode.
Limitations
- Requires deeper integration in C++ to implement a new context.
- Heavier development effort in the short term.
2. Tool System with Subtools
Concept
Develop a main “Light Tool” using Blender’s Tool System, with subtools available only when a light is selected.
Potential Subtools
- Place light based on surface normals
- Place light based on reflections on an object
- Place light based on cast shadows
- Horizontal / azimuthal placement control
- Other contextual tools…
Each subtool would launch its own operator (modal or not).
Advantages
- Fully compatible with the existing Tool System.
- No need to introduce a new mode or context.
- Faster to prototype and iterate.
- Similar in spirit to add-ons like the “Lumos” proof of concept.
Limitations
- Lacks visual and contextual separation from other workflows.
- Requires manual context handling, such as filtering object types.
- Might be less intuitive than having a dedicated mode.
3. Hybrid Approach: Mode + Tools
Concept
Create a Light Edit Mode that embeds lighting-related tools, similar to how Sculpt or Weight Paint modes include specific tools.
These tools would only be available and visible within this mode, and would execute modal or non-modal operators.
Advantages
- Combines the clarity of a dedicated mode with the flexibility of the Tool System.
- Consistent with existing specialized workflows in Blender.
- Allows incremental evolution: new tools, operators, and UI elements can be added inside a well-defined and isolated context.
Limitations
- Still requires significant effort to implement a new mode at the core level.
- Might involve adjustments to Blender’s internal design to cleanly integrate both concepts.
Open Questions
- Which approach seems most viable in the short/mid-term?
- Would it be feasible to simulate a dedicated mode using the Tool System alone, without implementing a new core
mode? - Are there lessons from similar systems (e.g. Grease Pencil v3, Sculpt Tools) that could guide the design?
In any cases I think that could be good to had visual feedback as bgl notice in the bottom left corner for example
ME
My name is Quentin Sanhes, i’m 31 and my Blender Chat name is Eqkoss / T1NT1N_TV,
I’m a light artist with a strong interest in programming and development, and I’m gradually leaving the artistic world for the tech world.
I’m self-taught in python and very new to C++ dev (self-taught too). But I’m very passionate and motivated to develop these features
MORE
I would also like to add new features as:
- Customs unit: lux, lumen and/or candela
- Horizon/Azimuth modal
- Change color (as in Lumos)
- Change energy (as in Lumos)
- Move along Z axis (by preserving the energy as in Lumos)
- and more (Ideas are welcome
)
But maybe this should be part of another topic or PR. Should we tlak about that here too ?





