flame-engine / flame-engine/flame
[Flame 3D] Create more distinct types of light source
- Dominant language
- Dart
- Stars
- 10.8k
- Forks
- 1k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 21
Description
### What could be improved
More Details for Point Light and Further Breakdown of Ambient Light
Points should be visualized by a plain, circled dot.
But they should have a radius parameter, such that when the radius is larger than zero,
light will be emitted from a spherical surfaces with the specified radius.
Also, Lights with larger size should have softer shadows and specular highlights.
### Why should this be improved
I've just watched Luan's Presentation on Flutter and Friends, 2024 and one part that stood to me is Light Sources.
I think it's very important, because Lights have significant importance on how things are rendered on screen.
So we will need more distinct types of lights for better rendering accuracy, and a few new addtions;
- Spot Light
- Area Light
- Sun Light
## Spot Light
A Spot light should emit a cone-shaped beam of light from the tip of the cone, in a given direction.

It's constructor should have parameters like:
1. Power [in watts]
2. Radius
3. Size in degree/radian
4. Clip Start
5. Blend
## Area Light
Area light simulates light originating from a surface (or surface-like) emitter.
For example, a TV screen, office neon lights, a window, or a cloudy sky are just a few types of area light.
It's constructor should have parameters like:
1. Power [ in watts]
2. Shape [Rectangle, Circle, Star, Ellipse etc]
3. Size [Bounding Box for the Shape]
## Sun Light
A sun light provides light of constant intensity emitted in a single direction from infinitely far away.
A sun light can be very handy for a uniform clear daylight open-space illumination.
It's similar to the Ambient Light Luan described in his talks.
But i believe there are quite some distinction;
### Risks
I'm just an intern, or at best a Junior so I can't state with great accuracy the technical difficulty involved or risks;
But one thing i can say it will change some API. Luckily the work on Flame 3D has just begun so not a big change like that;
### More information
For more info, please visit[ blender reference for light soure](https://docs.blender.org/manual/en/2.90/render/lights/light_object.html)
### Other
- [ ] Are you interested in working on a PR for this?
Contributor guide
Assessment
This issue has not been assessed yet.