diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2021-06-02 17:27:19 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2021-06-03 16:15:06 +0300 |
commit | 14df74ea8b60c0feb8b333faad257c57f691c015 (patch) | |
tree | 0c54bc8f3c99f2884a3fa5279ce3fe3a935c37b1 /source/blender/draw/engines/eevee/eevee_instance.hh | |
parent | 060c462f3ae3a38ad0a8a4833844e954a6bcc23a (diff) |
EEVEE: LightCache: Port baking
Some things differs from old implementation.
- Object visibility is filtered correctly without using a visibility
callback (which is to be removed).
The implementation is also more high level using less low level tricks.
A dedicated LightProbeView is created for each lightprobe cubeface to
render using all pipeline (deferred and forward).
There is still a few things not working.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_instance.hh')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_instance.hh | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_instance.hh b/source/blender/draw/engines/eevee/eevee_instance.hh index 7ec2cf7b26e..154928b1662 100644 --- a/source/blender/draw/engines/eevee/eevee_instance.hh +++ b/source/blender/draw/engines/eevee/eevee_instance.hh @@ -89,6 +89,9 @@ class Instance { const View3D *v3d; const RegionView3D *rv3d; + /** Can be null. Used to exclude objects during baking. */ + const struct LightProbe *baking_probe = nullptr; + /* Info string displayed at the top of the render / viewport. */ char info[64]; @@ -113,6 +116,7 @@ class Instance { const rcti *output_rect, RenderEngine *render, Depsgraph *depsgraph, + const struct LightProbe *light_probe_ = nullptr, Object *camera_object = nullptr, const RenderLayer *render_layer = nullptr, const DRWView *drw_view = nullptr, @@ -123,6 +127,7 @@ class Instance { void object_sync(Object *ob); void end_sync(void); + void render_sync(void); void render_frame(RenderLayer *render_layer, const char *view_name); void draw_viewport(DefaultFramebufferList *dfbl); @@ -135,7 +140,6 @@ class Instance { } private: - void render_sync(void); void render_sample(void); static void object_sync_render(void *instance_, Object *ob, |