Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2021-06-02 17:27:19 +0300
committerClément Foucault <foucault.clem@gmail.com>2021-06-03 16:15:06 +0300
commit14df74ea8b60c0feb8b333faad257c57f691c015 (patch)
tree0c54bc8f3c99f2884a3fa5279ce3fe3a935c37b1 /source/blender/draw/engines/eevee/eevee_instance.hh
parent060c462f3ae3a38ad0a8a4833844e954a6bcc23a (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.hh6
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,