diff options
author | Monique <mdewanchand@atmind.nl> | 2022-09-13 20:08:34 +0300 |
---|---|---|
committer | Monique <mdewanchand@atmind.nl> | 2022-09-13 20:08:34 +0300 |
commit | e449a9bb5e11c07b315f9eb2dcb7de0237f37c02 (patch) | |
tree | 6a7eeddd3738701a1a8a0b78135965f02d30ccbc /source/blender/draw/engines/eevee_next/eevee_sync.cc | |
parent | 22d1673b927e041838cd49e3d13615365bbdafdd (diff) | |
parent | 08a8de739d8c7fa60f257ed171d292879edae013 (diff) |
Merge branch 'master' into temp-T73411-add-scene-parameterstemp-T73411-add-scene-parameters
Diffstat (limited to 'source/blender/draw/engines/eevee_next/eevee_sync.cc')
-rw-r--r-- | source/blender/draw/engines/eevee_next/eevee_sync.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/draw/engines/eevee_next/eevee_sync.cc b/source/blender/draw/engines/eevee_next/eevee_sync.cc index 5f8b87c24b9..09ea7c9ec3d 100644 --- a/source/blender/draw/engines/eevee_next/eevee_sync.cc +++ b/source/blender/draw/engines/eevee_next/eevee_sync.cc @@ -120,10 +120,14 @@ void SyncModule::sync_mesh(Object *ob, is_shadow_caster = is_shadow_caster || material->shadow.sub_pass != nullptr; is_alpha_blend = is_alpha_blend || material->is_alpha_blend_transparent; + + GPUMaterial *gpu_material = material_array.gpu_materials[i]; + ::Material *mat = GPU_material_get_material(gpu_material); + inst_.cryptomatte.sync_material(mat); } inst_.manager->extract_object_attributes(res_handle, ob_ref, material_array.gpu_materials); - + inst_.cryptomatte.sync_object(ob, res_handle); // shadows.sync_object(ob, ob_handle, is_shadow_caster, is_alpha_blend); } @@ -320,6 +324,12 @@ void SyncModule::sync_curves(Object *ob, shgroup_curves_call(material.prepass, ob, part_sys, modifier_data); shgroup_curves_call(material.shadow, ob, part_sys, modifier_data); + inst_.cryptomatte.sync_object(ob, res_handle); + GPUMaterial *gpu_material = + inst_.materials.material_array_get(ob, has_motion).gpu_materials[mat_nr - 1]; + ::Material *mat = GPU_material_get_material(gpu_material); + inst_.cryptomatte.sync_material(mat); + /* TODO(fclem) Hair velocity. */ // shading_passes.velocity.gpencil_add(ob, ob_handle); |