-
Notifications
You must be signed in to change notification settings - Fork 224
Added reflection probe support #401
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
Conversation
Code/Engine/RendererCore/Pipeline/Implementation/Passes/ReflectionFilterPass.cpp
Show resolved
Hide resolved
"Enable Fog" makes the skybox disappear. I guess you'd need to remove the flag to apply fog to the sky. |
By default the sky light is ON but the skybox is OFF. IMO the default should be for both to be ON. However, I'm wondering whether you'd maybe want different defaults per document type? |
Well, I see it is stored per document. In that case I'm definitely missing a "reset to defaults" action. |
This is different in the material assets, there the default camera angle looks at the lit side. I think the material camera needs to be adjusted, the camera angle in the meshes is the correct one. |
Scenes and Prefabs have a similar feature (View > Add Ambient Light) which is ON by default for prefabs and OFF by default for scenes (and this state is reset when the document is closed). I wonder whether we should replace that with the new option. It would need to have different behavior though. |
The 'Include/Exclude Tags' are only needed for the dynamic mode right? What about the cubemap option, is that static only? Would be nice if the options only show up depending on the selected mode. Also I guess the "Show Debug" option shouldn't be in the sub group, since it is always viable, no (enabling that also consistently crashes for me). |
I moved all the light settings out of the engine context. The fog settings come from the particle context, the skybox from the kraut context. In combination they don't make much sense but I just wanted to preserve the current functionality for now. We could extend the fog settings? |
For now I kept it close to the previous state. Settings can currently be saved globally so it's easy to change the default. I would like to make the defaults per document but that requires adding a new option for it to the preferences system. |
Code/Engine/RendererCore/Lights/Implementation/SkyLightComponent.cpp
Outdated
Show resolved
Hide resolved
- Only the global fallback reflection probe is supported per world right now. - Reflection probe is set up via ezSkyLightComponent. Both dynamic updates and static cube maps are supported. - Static cube maps must have mipmaps defined, roughness filtering is done on the fly at runtime for now. - If no ezSkyLightComponent exists in a world, a black fallback probe is used. Generalized lighting settings for simple asset documents - ezEngineViewLightSettings in a sync object that controls light settings of the engine side of the document. - Settings can be changed via the actions in the engine view toolbar. - Settings are persisted globally. These can be changed in the and can be changed in the ezEditorPreferencesUser or copied from an engine view via the action in the toolbar. - Settings will affect thumbnail generation except for skybox which is hidden in thumbnails. Rendering changes - Support for texture readback of mipmaps and cube maps. - Added ezSimplifiedDataExtractor / ezSimplifiedDataProvider to support the reflection probe / ambient cube in the simple render pipeline. - If no texture is set in the render target setup, the render pipeline will suplement this via the texture pool. - Expose ezRenderContext::GetAllowAsyncShaderLoading to allow swapping the state conditionally. Used in the reflection filter pass to make sure it can never fail. - Reflection probe debug info now shows the filtered mip maps as well. - Updated all shader references to distinguish 'roughness' from 'perceptual roughness'. Roughness is the physical property while perceptual roughness is what is set by the user in the editor and also maps to the mip levels of the reflection probes. perceptualRoughness^2 == roughness. Misc - Bug fix: Cloning materials or other prefab documents now preserves the prefab references / seeds. - Bug fix: Mesh asset now listens for resource changes to update the AABB to make sure thumbnail generation works correctly after size changes. - Bug fix: staging texture has D3D11_RESOURCE_MISC_GENERATE_MIPS removed as that prevents texture readback.
- Fix default light direction to come from +x direction - Made sky box enabled by default - Made material camera setup match mesh and other assets
- Fix compile bug due to sub-system variable name collision. - Hide CubeMap property in ezSkyLightComponent if in dynamic mode. - Make dynamic the default ezSkyLightComponent mode for backwards compatibility. - Increase wait time for terrain test because for some reason the glow stick is black as long as the reflection pool is not updated yet.
- Increased timeout for texconv. - Added editor processor debug output. - Resaved two test scenes to get rid of the wrong SkyLight default mode that made it into the asset cache. - Replaced a test image that seems to have changed due a newer tex conv version. - Increased image compare threshold for some images to account for GPU vendor differences. - Fixed typo in passing in -mipmaps filter option to TexConv
This PR also fixes #383 |
Reflection probe support

Generalized lighting settings for simple asset documents

Rendering changes
Misc