EEVEE Next: Volumes #107176

Merged
Miguel Pozo merged 126 commits from pragma37/blender:pull-eevee-next-volumes into main 2023-08-04 16:47:22 +02:00
1 changed files with 2 additions and 1 deletions
Showing only changes of commit 5c6d735dc3 - Show all commits

View File

@ -553,13 +553,14 @@ GPUMaterial *ShaderModule::world_shader_get(::World *blender_world,
eMaterialPipeline pipeline_type)
{
bool is_volume = (pipeline_type == MAT_PIPE_VOLUME);
bool defer_compilation = is_volume;
eMaterialGeometry geometry_type = is_volume ? MAT_GEOM_VOLUME_WORLD : MAT_GEOM_WORLD;
pragma37 marked this conversation as resolved Outdated

Deferred compilation should still be done for the volume shader as they are quite complex.

Deferred compilation should still be done for the volume shader as they are quite complex.

So the world volume should be deferred but the world itself don't, is that right?

So the world volume should be deferred but the world itself don't, is that right?
uint64_t shader_uuid = shader_uuid_from_material_type(pipeline_type, geometry_type);
return DRW_shader_from_world(
blender_world, nodetree, shader_uuid, is_volume, false, codegen_callback, this);
blender_world, nodetree, shader_uuid, is_volume, defer_compilation, codegen_callback, this);
}
/* Variation to compile a material only with a nodetree. Caller needs to maintain the list of