Skip to content

Commit b5c7abc

Browse files
committed
pbr + reflection probes
1 parent 71308e3 commit b5c7abc

File tree

5 files changed

+25
-8
lines changed

5 files changed

+25
-8
lines changed

drafts/2025-02-04-fyrox-game-engine-1.0.0-rc.1.md

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -99,15 +99,14 @@ by a body `<type:value>`.
9999

100100
# Rendering
101101

102+
![pbr ibl](prb_ibl.png)
103+
102104
Physically-based rendering pipeline is now fully complete and supports image-based lighting (IBL), environment
103105
mapping, and reflection probes.
104106

105-
Ability to select environment light source for scenes
106-
Use ambient occlusion from material info in ambient lighting shader
107+
![img.png](pbr_ibl_2.png)
107108

108-
By default, every scene uses skybox as a source of lighting (if there's no reflection probe). This may be undesirable in
109-
some cases (for example - in stylized graphics) and a flat color can be used instead. It could be specified either in
110-
scene settings in the editor, or in scene rendering settings from code.
109+
The renderer still lacks any global illumination, but that's planned for the future releases (most likely for Fyrox 2.0).
111110

112111
## Render target for cameras
113112

@@ -121,9 +120,14 @@ show some other areas are in the game.
121120
Particle systems now have a built-in ability to fadeout when far away from the camera. It is a very useful optimization
122121
that allows disabling distant particle system and free GPU resources.
123122

124-
## Skybox (TODO)
123+
## Skybox
125124

126-
Skybox was moved from camera to scene
125+
![skybox](skybox.png)
126+
127+
Skybox was moved from camera node to scene itself, and sky boxes are now used in IBL as a source of indirect lighting.
128+
By default, every scene uses skybox as a source of lighting (if there's no reflection probe). This may be undesirable in
129+
some cases (for example - in stylized graphics) and a flat color can be used instead. It could be specified either in
130+
scene settings in the editor, or in scene rendering settings from code.
127131

128132
## Improved Debugging
129133

@@ -182,7 +186,20 @@ ruin some hierarchies where flipping shouldn't affect descendant nodes. For exam
182186
above it, flipping it by negative scaling will result in flipped text, while `Flip X/Y` options will flip only the
183187
sprite/rectangle.
184188

185-
## Reflection Probe (TODO)
189+
## Reflection Probe
190+
191+
![Reflection Probe](reflection_probe.png)
192+
193+
Reflection probe is a special scene node that "captures" surroundings into a cube texture which is then used as a source
194+
of ambient lighting (with IBL) and reflections. This scene node is used only in PBR pipeline. Reflection probes can be
195+
either static or dynamic. Static reflection probes are updated only once and can include all the objects in the scene.
196+
Dynamic reflection probes are updating every frame, this mode is quite heavy and not every object should be drawn in
197+
the probe. You can use render mask to prevent objects from being rendered in the reflection probe to improve the
198+
performance of dynamic reflection probes.
199+
200+
This release does not contain one very important part - there's no blending between the probes, it means that when the
201+
camera enters a new reflection probe, the sudden change of lighting and reflections may occur. Blending will be added in
202+
the stable release of Fyrox 1.0.
186203

187204
# Input
188205

drafts/pbr_ibl_2.png

1.94 MB
Loading

drafts/prb_ibl.png

1.54 MB
Loading

drafts/reflection_probe.png

1.37 MB
Loading

drafts/skybox.png

574 KB
Loading

0 commit comments

Comments
 (0)