I don't know if this is covered by the next patch, but this should become an option.
Prefer always syncing it inside World::sync()
just like the other world pipeline is doing inst_.pipelines.world.sync(gpumat);
.
Add comment saying these are required in order to reuse the background shader and avoid another shader variation.
You shouldn't have 3 sync
functions. Kind of related to my other comments: Prefer syncing one view agnostic render pass and always sync it from World::sync()
.
This struct shouldn't be contained by the pipeline. The pipeline should only contain the pass and be view agnostic.
Maybe we could rename this to BackgroundPipeline and use WorldPipeline for world rendering. Could do that in another PR.
@jimix85 No, light linking isn't planned to be implemented in EEVEE-Next first release and isn't listed here. It might be implemented at some point but I can't say when. But it is already…
If a file requires a specific resource (here volumes_info_buf
), make it clear at the top the file. (see eevee_light_eval_lib.glsl
for example)
This one doesn't make much sense since it is only called once. Merge it into ndc_to_volume
.
We shouldn't need any of this with the shared GLSL/C++ code. Maybe it's a leftover comment?
Code-style: Avoid ps
as name. Use more descriptive name like object_volume_pass
.