Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatic Skybox -> EnvironmentMapLight generation #9380

Open
JMS55 opened this issue Aug 7, 2023 · 0 comments
Open

Automatic Skybox -> EnvironmentMapLight generation #9380

JMS55 opened this issue Aug 7, 2023 · 0 comments
Labels
A-Rendering Drawing game state to the screen C-Feature A new feature, making something new possible

Comments

@JMS55
Copy link
Contributor

JMS55 commented Aug 7, 2023

What problem does this solve or what need does it fill?

glTF-IBL-Sampler is the current recommended way to generate EnviornmentMapLight (IBL) for Skyboxes. However, it's very difficult to build the codebase, and does not work for realtime procedurally generated skyboxes, only static offline skyboxes.

What solution would you like?

Implement Fast Filtering of Reflection Probes.

Each frame, Bevy should take entities with Skybox a component and no EnvironmentMapLight component, create an EnvironmentMapLight component with empty textures, and then dispatch some compute shaders to fill in the textures.

Open Questions

To control the IBL generation, we should either add a marker component like AutomaticSkyboxLight, or add a boolean field to the Skybox component. I'm not sure which would be better. I'm leaning towards the boolean.

Additional context

godotengine/godot#36588

@JMS55 JMS55 added C-Feature A new feature, making something new possible S-Needs-Triage This issue needs to be labelled A-Rendering Drawing game state to the screen and removed S-Needs-Triage This issue needs to be labelled labels Aug 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Rendering Drawing game state to the screen C-Feature A new feature, making something new possible
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant