scp-fs2open / scp-fs2open/fs2open.github.com

FR: Lens Flare Expansion

Open
#3,675 3 comments 0 reactions 0 assignees View on GitHub
enhancement graphics
Dominant language
C++
Stars
487
Forks
184
Avg merge
3d 9h
Merged PRs (30d)
44

Description

I'd like to expand on the rudimentary lens flare system in FSO. Some of these options exist or exist in part in stars.tbl already.

Lens flare wish list

-Able to define multiple bitmaps per flare each with the following options
-Allow for animated bitmaps

- ++Aspect Ratio (may or may not be necessary to do proper scaler math below)
- ++Distance (from flare origin when origin is at 1.0 or -1.0 on X or Y. The position of this element would be mathematically positioned assuming distance decreases to 0 when origin is at screen center)
- ++Scaler (like distance but scales mathematically instead of positions. Useful for hoop rings and Multi Irises. May need to split up X/Y scaling.)
- ++Dynamic true/false (to enable/disable rotate with camera. useful for caustics and irises vs glints and streaks)
- ++Offset (to offset a bitmap from the main flare line)

Stretch Goals (These would allow making a set of white assets and then mix/match them into unlimited unique flares just in the tables)

- ++Luminence (or brightness)
- ++Gamma
- ++Color (color overlay)
- ++Rotation
- ++Scale

Over the top gif showing roughly all the elements I'd like to be able to recreate in FSO.
![Flares](https://user-images.githubusercontent.com/7740469/134829368-6d45c327-1d0b-4257-81ac-7220f6bff73f.gif)
A couple more subtle examples of what can be done.
![Flares_1](https://user-images.githubusercontent.com/7740469/134829391-ab58f1f6-3903-430d-8138-ae687df7fc3b.gif)
![Flares (1)](https://user-images.githubusercontent.com/7740469/134829396-05e234f5-b71d-4c16-abde-9a15a05c1bf8.gif)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.