diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-06-12 13:59:54 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-06-12 14:34:55 +0300 |
commit | f52dc2f371923c22a974df7105245f7e0b8148ee (patch) | |
tree | bd65af657cf7f06fdb01ee953182562c69189fed /source/blender/draw/engines | |
parent | 12bd960df9bb9d96477b9913df8aec6fc7d87f95 (diff) |
Rename probe to light-probe
Probe is a real general term, the new name is used often in docs online.
Diffstat (limited to 'source/blender/draw/engines')
11 files changed, 94 insertions, 94 deletions
diff --git a/source/blender/draw/engines/clay/clay_engine.c b/source/blender/draw/engines/clay/clay_engine.c index e2e3fa3efbc..8ca228ebce5 100644 --- a/source/blender/draw/engines/clay/clay_engine.c +++ b/source/blender/draw/engines/clay/clay_engine.c @@ -277,7 +277,7 @@ static int matcap_to_index(int matcap) } /* Van der Corput sequence */ -/* TODO this is duplicated code from eevee_probes.c */ +/* TODO this is duplicated code from eevee_lightprobes.c */ /* From http://holger.dammertz.org/stuff/notes_HammersleyOnHemisphere.html */ static float radical_inverse(int i) { unsigned int bits = (unsigned int)i; diff --git a/source/blender/draw/engines/eevee/eevee_data.c b/source/blender/draw/engines/eevee/eevee_data.c index 514953f3d51..52dc35b4977 100644 --- a/source/blender/draw/engines/eevee/eevee_data.c +++ b/source/blender/draw/engines/eevee/eevee_data.c @@ -70,9 +70,9 @@ static void eevee_lamp_data_free(void *storage) BLI_freelistN(&led->shadow_caster_list); } -static void eevee_probe_data_free(void *storage) +static void eevee_lightprobe_data_free(void *storage) { - EEVEE_ProbeEngineData *ped = (EEVEE_ProbeEngineData *)storage; + EEVEE_LightProbeEngineData *ped = (EEVEE_LightProbeEngineData *)storage; BLI_freelistN(&ped->captured_object_list); } @@ -99,12 +99,12 @@ EEVEE_ObjectEngineData *EEVEE_object_data_get(Object *ob) return *oedata; } -EEVEE_ProbeEngineData *EEVEE_probe_data_get(Object *ob) +EEVEE_LightProbeEngineData *EEVEE_lightprobe_data_get(Object *ob) { - EEVEE_ProbeEngineData **pedata = (EEVEE_ProbeEngineData **)DRW_object_engine_data_get(ob, &draw_engine_eevee_type, &eevee_probe_data_free); + EEVEE_LightProbeEngineData **pedata = (EEVEE_LightProbeEngineData **)DRW_object_engine_data_get(ob, &draw_engine_eevee_type, &eevee_lightprobe_data_free); if (*pedata == NULL) { - *pedata = MEM_callocN(sizeof(**pedata), "EEVEE_ProbeEngineData"); + *pedata = MEM_callocN(sizeof(**pedata), "EEVEE_LightProbeEngineData"); (*pedata)->need_update = true; } diff --git a/source/blender/draw/engines/eevee/eevee_effects.c b/source/blender/draw/engines/eevee/eevee_effects.c index 205e1588b43..e6f2bfbd5ba 100644 --- a/source/blender/draw/engines/eevee/eevee_effects.c +++ b/source/blender/draw/engines/eevee/eevee_effects.c @@ -41,9 +41,9 @@ #include "eevee_private.h" #include "GPU_texture.h" -typedef struct EEVEE_ProbeData { +typedef struct EEVEE_LightProbeData { short probe_id, shadow_id; -} EEVEE_ProbeData; +} EEVEE_LightProbeData; /* TODO Option */ #define ENABLE_EFFECT_MOTION_BLUR 1 diff --git a/source/blender/draw/engines/eevee/eevee_engine.c b/source/blender/draw/engines/eevee/eevee_engine.c index 46d1a6e1ac0..2177d3d065c 100644 --- a/source/blender/draw/engines/eevee/eevee_engine.c +++ b/source/blender/draw/engines/eevee/eevee_engine.c @@ -57,7 +57,7 @@ static void EEVEE_engine_init(void *ved) EEVEE_materials_init(); EEVEE_lights_init(sldata); - EEVEE_probes_init(sldata); + EEVEE_lightprobes_init(sldata); EEVEE_effects_init(vedata); } @@ -74,7 +74,7 @@ static void EEVEE_cache_init(void *vedata) EEVEE_materials_cache_init(vedata); EEVEE_lights_cache_init(sldata, psl); - EEVEE_probes_cache_init(sldata, psl); + EEVEE_lightprobes_cache_init(sldata, psl); EEVEE_effects_cache_init(vedata); } @@ -104,8 +104,8 @@ static void EEVEE_cache_populate(void *vedata, Object *ob) oedata->need_update = ((ob->deg_update_flag & DEG_RUNTIME_DATA_UPDATE) != 0); } } - else if (ob->type == OB_PROBE) { - EEVEE_probes_cache_add(sldata, ob); + else if (ob->type == OB_LIGHTPROBE) { + EEVEE_lightprobes_cache_add(sldata, ob); } else if (ob->type == OB_LAMP) { EEVEE_lights_cache_add(sldata, ob); @@ -118,7 +118,7 @@ static void EEVEE_cache_finish(void *vedata) EEVEE_materials_cache_finish(vedata); EEVEE_lights_cache_finish(sldata); - EEVEE_probes_cache_finish(sldata); + EEVEE_lightprobes_cache_finish(sldata); } static void EEVEE_draw_scene(void *vedata) @@ -134,7 +134,7 @@ static void EEVEE_draw_scene(void *vedata) EEVEE_draw_shadows(sldata, psl); /* Refresh Probes */ - EEVEE_probes_refresh(sldata, psl); + EEVEE_lightprobes_refresh(sldata, psl); /* Attach depth to the hdr buffer and bind it */ DRW_framebuffer_texture_detach(dtxl->depth); @@ -162,7 +162,7 @@ static void EEVEE_engine_free(void) EEVEE_materials_free(); EEVEE_effects_free(); EEVEE_lights_free(); - EEVEE_probes_free(); + EEVEE_lightprobes_free(); } static void EEVEE_layer_collection_settings_create(RenderEngine *UNUSED(engine), IDProperty *props) diff --git a/source/blender/draw/engines/eevee/eevee_probes.c b/source/blender/draw/engines/eevee/eevee_lightprobes.c index 169a5d4694e..1acdd50635e 100644 --- a/source/blender/draw/engines/eevee/eevee_probes.c +++ b/source/blender/draw/engines/eevee/eevee_lightprobes.c @@ -26,7 +26,7 @@ #include "DNA_world_types.h" #include "DNA_texture_types.h" #include "DNA_image_types.h" -#include "DNA_probe_types.h" +#include "DNA_lightprobe_types.h" #include "DNA_view3d_types.h" #include "BKE_object.h" @@ -47,7 +47,7 @@ #include "eevee_private.h" /* TODO Option */ -#define PROBE_CUBE_SIZE 512 +#define LIGHTPROBE_TYPE_CUBE_SIZE 512 #define PROBE_SIZE 1024 static struct { @@ -62,10 +62,10 @@ static struct { } e_data = {NULL}; /* Engine data */ extern char datatoc_default_world_frag_glsl[]; -extern char datatoc_probe_filter_frag_glsl[]; -extern char datatoc_probe_sh_frag_glsl[]; -extern char datatoc_probe_geom_glsl[]; -extern char datatoc_probe_vert_glsl[]; +extern char datatoc_lightprobe_filter_frag_glsl[]; +extern char datatoc_lightprobe_sh_frag_glsl[]; +extern char datatoc_lightprobe_geom_glsl[]; +extern char datatoc_lightprobe_vert_glsl[]; extern char datatoc_bsdf_common_lib_glsl[]; extern char datatoc_bsdf_sampling_lib_glsl[]; @@ -102,7 +102,7 @@ static struct GPUTexture *create_hammersley_sample_texture(int samples) return tex; } -void EEVEE_probes_init(EEVEE_SceneLayerData *sldata) +void EEVEE_lightprobes_init(EEVEE_SceneLayerData *sldata) { if (!e_data.probe_filter_sh) { char *shader_str = NULL; @@ -110,17 +110,17 @@ void EEVEE_probes_init(EEVEE_SceneLayerData *sldata) DynStr *ds_frag = BLI_dynstr_new(); BLI_dynstr_append(ds_frag, datatoc_bsdf_common_lib_glsl); BLI_dynstr_append(ds_frag, datatoc_bsdf_sampling_lib_glsl); - BLI_dynstr_append(ds_frag, datatoc_probe_filter_frag_glsl); + BLI_dynstr_append(ds_frag, datatoc_lightprobe_filter_frag_glsl); shader_str = BLI_dynstr_get_cstring(ds_frag); BLI_dynstr_free(ds_frag); e_data.probe_filter_sh = DRW_shader_create( - datatoc_probe_vert_glsl, datatoc_probe_geom_glsl, shader_str, + datatoc_lightprobe_vert_glsl, datatoc_lightprobe_geom_glsl, shader_str, "#define HAMMERSLEY_SIZE 1024\n" "#define NOISE_SIZE 64\n"); e_data.probe_default_sh = DRW_shader_create( - datatoc_probe_vert_glsl, datatoc_probe_geom_glsl, datatoc_default_world_frag_glsl, NULL); + datatoc_lightprobe_vert_glsl, datatoc_lightprobe_geom_glsl, datatoc_default_world_frag_glsl, NULL); MEM_freeN(shader_str); } @@ -128,24 +128,24 @@ void EEVEE_probes_init(EEVEE_SceneLayerData *sldata) /* Shaders */ if (!e_data.hammersley) { e_data.hammersley = create_hammersley_sample_texture(1024); - e_data.probe_spherical_harmonic_sh = DRW_shader_create_fullscreen(datatoc_probe_sh_frag_glsl, NULL); + e_data.probe_spherical_harmonic_sh = DRW_shader_create_fullscreen(datatoc_lightprobe_sh_frag_glsl, NULL); } if (!sldata->probes) { - sldata->probes = MEM_callocN(sizeof(EEVEE_ProbesInfo), "EEVEE_ProbesInfo"); - sldata->probe_ubo = DRW_uniformbuffer_create(sizeof(EEVEE_Probe) * MAX_PROBE, NULL); + sldata->probes = MEM_callocN(sizeof(EEVEE_LightProbesInfo), "EEVEE_LightProbesInfo"); + sldata->probe_ubo = DRW_uniformbuffer_create(sizeof(EEVEE_LightProbe) * MAX_PROBE, NULL); } /* Setup Render Target Cubemap */ if (!sldata->probe_rt) { - sldata->probe_rt = DRW_texture_create_cube(PROBE_CUBE_SIZE, DRW_TEX_RGBA_16, DRW_TEX_FILTER | DRW_TEX_MIPMAP, NULL); - sldata->probe_depth_rt = DRW_texture_create_cube(PROBE_CUBE_SIZE, DRW_TEX_DEPTH_24, DRW_TEX_FILTER, NULL); + sldata->probe_rt = DRW_texture_create_cube(LIGHTPROBE_TYPE_CUBE_SIZE, DRW_TEX_RGBA_16, DRW_TEX_FILTER | DRW_TEX_MIPMAP, NULL); + sldata->probe_depth_rt = DRW_texture_create_cube(LIGHTPROBE_TYPE_CUBE_SIZE, DRW_TEX_DEPTH_24, DRW_TEX_FILTER, NULL); } DRWFboTexture tex_probe[2] = {{&sldata->probe_depth_rt, DRW_TEX_DEPTH_24, DRW_TEX_FILTER}, {&sldata->probe_rt, DRW_TEX_RGBA_16, DRW_TEX_FILTER | DRW_TEX_MIPMAP}}; - DRW_framebuffer_init(&sldata->probe_fb, &draw_engine_eevee_type, PROBE_CUBE_SIZE, PROBE_CUBE_SIZE, tex_probe, 2); + DRW_framebuffer_init(&sldata->probe_fb, &draw_engine_eevee_type, LIGHTPROBE_TYPE_CUBE_SIZE, LIGHTPROBE_TYPE_CUBE_SIZE, tex_probe, 2); /* Spherical Harmonic Buffer */ DRWFboTexture tex_sh = {&sldata->probe_sh, DRW_TEX_RGBA_16, DRW_TEX_FILTER | DRW_TEX_MIPMAP}; @@ -153,9 +153,9 @@ void EEVEE_probes_init(EEVEE_SceneLayerData *sldata) DRW_framebuffer_init(&sldata->probe_sh_fb, &draw_engine_eevee_type, 9, 1, &tex_sh, 1); } -void EEVEE_probes_cache_init(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl) +void EEVEE_lightprobes_cache_init(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl) { - EEVEE_ProbesInfo *pinfo = sldata->probes; + EEVEE_LightProbesInfo *pinfo = sldata->probes; pinfo->num_cube = 1; /* at least one for the world */ memset(pinfo->probes_ref, 0, sizeof(pinfo->probes_ref)); @@ -178,7 +178,7 @@ void EEVEE_probes_cache_init(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl) wo->update_flag = 0; if (wo->use_nodes && wo->nodetree) { - struct GPUMaterial *gpumat = EEVEE_material_world_probe_get(scene, wo); + struct GPUMaterial *gpumat = EEVEE_material_world_lightprobe_get(scene, wo); grp = DRW_shgroup_material_instance_create(gpumat, psl->probe_background, geom); @@ -208,11 +208,11 @@ void EEVEE_probes_cache_init(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl) } { - psl->probe_meshes = DRW_pass_create("Probe Meshes", DRW_STATE_WRITE_COLOR | DRW_STATE_WRITE_DEPTH | DRW_STATE_DEPTH_LESS); + psl->probe_meshes = DRW_pass_create("LightProbe Meshes", DRW_STATE_WRITE_COLOR | DRW_STATE_WRITE_DEPTH | DRW_STATE_DEPTH_LESS); } { - psl->probe_prefilter = DRW_pass_create("Probe Filtering", DRW_STATE_WRITE_COLOR); + psl->probe_prefilter = DRW_pass_create("LightProbe Filtering", DRW_STATE_WRITE_COLOR); struct Batch *geom = DRW_cache_fullscreen_quad_get(); @@ -233,7 +233,7 @@ void EEVEE_probes_cache_init(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl) } { - psl->probe_sh_compute = DRW_pass_create("Probe SH Compute", DRW_STATE_WRITE_COLOR); + psl->probe_sh_compute = DRW_pass_create("LightProbe SH Compute", DRW_STATE_WRITE_COLOR); DRWShadingGroup *grp = DRW_shgroup_create(e_data.probe_spherical_harmonic_sh, psl->probe_sh_compute); DRW_shgroup_uniform_int(grp, "probeSize", &sldata->probes->shres, 1); @@ -245,9 +245,9 @@ void EEVEE_probes_cache_init(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl) } } -void EEVEE_probes_cache_add(EEVEE_SceneLayerData *sldata, Object *ob) +void EEVEE_lightprobes_cache_add(EEVEE_SceneLayerData *sldata, Object *ob) { - EEVEE_ProbesInfo *pinfo = sldata->probes; + EEVEE_LightProbesInfo *pinfo = sldata->probes; /* Step 1 find all lamps in the scene and setup them */ if (pinfo->num_cube > MAX_PROBE) { @@ -255,7 +255,7 @@ void EEVEE_probes_cache_add(EEVEE_SceneLayerData *sldata, Object *ob) pinfo->num_cube = MAX_PROBE; } else { - EEVEE_ProbeEngineData *ped = EEVEE_probe_data_get(ob); + EEVEE_LightProbeEngineData *ped = EEVEE_lightprobe_data_get(ob); if ((ob->deg_update_flag & DEG_RUNTIME_DATA_UPDATE) != 0) { ped->need_update = true; @@ -270,14 +270,14 @@ void EEVEE_probes_cache_add(EEVEE_SceneLayerData *sldata, Object *ob) } } -static void EEVEE_probes_updates(EEVEE_SceneLayerData *sldata) +static void EEVEE_lightprobes_updates(EEVEE_SceneLayerData *sldata) { - EEVEE_ProbesInfo *pinfo = sldata->probes; + EEVEE_LightProbesInfo *pinfo = sldata->probes; Object *ob; for (int i = 1; (ob = pinfo->probes_ref[i]) && (i < MAX_PROBE); i++) { - Probe *probe = (Probe *)ob->data; - EEVEE_Probe *eprobe = &pinfo->probe_data[i]; + LightProbe *probe = (LightProbe *)ob->data; + EEVEE_LightProbe *eprobe = &pinfo->probe_data[i]; /* Attenuation */ eprobe->attenuation_type = probe->attenuation_type; @@ -290,7 +290,7 @@ static void EEVEE_probes_updates(EEVEE_SceneLayerData *sldata) /* Parallax */ float dist; - if ((probe->flag & PRB_CUSTOM_PARALLAX) != 0) { + if ((probe->flag & LIGHTPROBE_FLAG_CUSTOM_PARALLAX) != 0) { eprobe->parallax_type = probe->parallax_type; dist = probe->distpar; } @@ -306,9 +306,9 @@ static void EEVEE_probes_updates(EEVEE_SceneLayerData *sldata) } } -void EEVEE_probes_cache_finish(EEVEE_SceneLayerData *sldata) +void EEVEE_lightprobes_cache_finish(EEVEE_SceneLayerData *sldata) { - EEVEE_ProbesInfo *pinfo = sldata->probes; + EEVEE_LightProbesInfo *pinfo = sldata->probes; Object *ob; /* Setup enough layers. */ @@ -332,7 +332,7 @@ void EEVEE_probes_cache_finish(EEVEE_SceneLayerData *sldata) pinfo->cache_num_cube = pinfo->num_cube; for (int i = 1; (ob = pinfo->probes_ref[i]) && (i < MAX_PROBE); i++) { - EEVEE_ProbeEngineData *ped = EEVEE_probe_data_get(ob); + EEVEE_LightProbeEngineData *ped = EEVEE_lightprobe_data_get(ob); ped->need_update = true; ped->ready_to_shade = false; } @@ -342,14 +342,14 @@ void EEVEE_probes_cache_finish(EEVEE_SceneLayerData *sldata) DRW_framebuffer_init(&sldata->probe_filter_fb, &draw_engine_eevee_type, PROBE_SIZE, PROBE_SIZE, &tex_filter, 1); - EEVEE_probes_updates(sldata); + EEVEE_lightprobes_updates(sldata); DRW_uniformbuffer_update(sldata->probe_ubo, &sldata->probes->probe_data); } -static void filter_probe(EEVEE_Probe *eprobe, EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl, int probe_idx) +static void filter_probe(EEVEE_LightProbe *eprobe, EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl, int probe_idx) { - EEVEE_ProbesInfo *pinfo = sldata->probes; + EEVEE_LightProbesInfo *pinfo = sldata->probes; /* 2 - Let gpu create Mipmaps for Filtered Importance Sampling. */ /* Bind next framebuffer to be able to gen. mips for probe_rt. */ @@ -399,8 +399,8 @@ static void filter_probe(EEVEE_Probe *eprobe, EEVEE_SceneLayerData *sldata, EEVE #endif pinfo->invsamples_ct = 1.0f / pinfo->samples_ct; - pinfo->lodfactor = bias + 0.5f * log((float)(PROBE_CUBE_SIZE * PROBE_CUBE_SIZE) * pinfo->invsamples_ct) / log(2); - pinfo->lodmax = floorf(log2f(PROBE_CUBE_SIZE)) - 2.0f; + pinfo->lodfactor = bias + 0.5f * log((float)(LIGHTPROBE_TYPE_CUBE_SIZE * LIGHTPROBE_TYPE_CUBE_SIZE) * pinfo->invsamples_ct) / log(2); + pinfo->lodmax = floorf(log2f(LIGHTPROBE_TYPE_CUBE_SIZE)) - 2.0f; DRW_framebuffer_texture_attach(sldata->probe_filter_fb, sldata->probe_pool, 0, i); DRW_framebuffer_viewport_size(sldata->probe_filter_fb, mipsize, mipsize); @@ -429,10 +429,10 @@ static void filter_probe(EEVEE_Probe *eprobe, EEVEE_SceneLayerData *sldata, EEVE * Renders the world probe if probe_idx = -1. */ static void render_one_probe(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl, int probe_idx) { - EEVEE_ProbesInfo *pinfo = sldata->probes; - EEVEE_Probe *eprobe = &pinfo->probe_data[probe_idx]; + EEVEE_LightProbesInfo *pinfo = sldata->probes; + EEVEE_LightProbe *eprobe = &pinfo->probe_data[probe_idx]; Object *ob = pinfo->probes_ref[probe_idx]; - Probe *prb = (Probe *)ob->data; + LightProbe *prb = (LightProbe *)ob->data; float winmat[4][4], posmat[4][4]; @@ -460,7 +460,7 @@ static void render_one_probe(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl, DRW_framebuffer_cubeface_attach(sldata->probe_fb, sldata->probe_rt, 0, i, 0); DRW_framebuffer_cubeface_attach(sldata->probe_fb, sldata->probe_depth_rt, 0, i, 0); - DRW_framebuffer_viewport_size(sldata->probe_fb, PROBE_CUBE_SIZE, PROBE_CUBE_SIZE); + DRW_framebuffer_viewport_size(sldata->probe_fb, LIGHTPROBE_TYPE_CUBE_SIZE, LIGHTPROBE_TYPE_CUBE_SIZE); DRW_framebuffer_clear(false, true, false, NULL, 1.0); @@ -502,10 +502,10 @@ static void render_one_probe(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl, filter_probe(eprobe, sldata, psl, probe_idx); } -static void render_world_probe(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl) +static void render_world_lightprobe(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl) { - EEVEE_ProbesInfo *pinfo = sldata->probes; - EEVEE_Probe *eprobe = &pinfo->probe_data[0]; + EEVEE_LightProbesInfo *pinfo = sldata->probes; + EEVEE_LightProbe *eprobe = &pinfo->probe_data[0]; /* 1 - Render to cubemap target using geometry shader. */ /* For world probe, we don't need to clear since we render the background directly. */ @@ -517,16 +517,16 @@ static void render_world_probe(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl filter_probe(eprobe, sldata, psl, 0); } -void EEVEE_probes_refresh(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl) +void EEVEE_lightprobes_refresh(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl) { - EEVEE_ProbesInfo *pinfo = sldata->probes; + EEVEE_LightProbesInfo *pinfo = sldata->probes; Object *ob; const DRWContextState *draw_ctx = DRW_context_state_get(); RegionView3D *rv3d = draw_ctx->rv3d; /* Render world in priority */ if (e_data.update_world) { - render_world_probe(sldata, psl); + render_world_lightprobe(sldata, psl); e_data.update_world = false; if (!e_data.world_ready_to_shade) { @@ -549,7 +549,7 @@ void EEVEE_probes_refresh(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl) } for (int i = 1; (ob = pinfo->probes_ref[i]) && (i < MAX_PROBE); i++) { - EEVEE_ProbeEngineData *ped = EEVEE_probe_data_get(ob); + EEVEE_LightProbeEngineData *ped = EEVEE_lightprobe_data_get(ob); if (ped->need_update) { render_one_probe(sldata, psl, i); @@ -571,7 +571,7 @@ void EEVEE_probes_refresh(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl) } } -void EEVEE_probes_free(void) +void EEVEE_lightprobes_free(void) { DRW_SHADER_FREE_SAFE(e_data.probe_default_sh); DRW_SHADER_FREE_SAFE(e_data.probe_filter_sh); diff --git a/source/blender/draw/engines/eevee/eevee_materials.c b/source/blender/draw/engines/eevee/eevee_materials.c index 6baa5351e3b..c4c331ab1a4 100644 --- a/source/blender/draw/engines/eevee/eevee_materials.c +++ b/source/blender/draw/engines/eevee/eevee_materials.c @@ -83,10 +83,10 @@ extern char datatoc_lit_surface_vert_glsl[]; extern char datatoc_shadow_frag_glsl[]; extern char datatoc_shadow_geom_glsl[]; extern char datatoc_shadow_vert_glsl[]; -extern char datatoc_probe_filter_frag_glsl[]; -extern char datatoc_probe_sh_frag_glsl[]; -extern char datatoc_probe_geom_glsl[]; -extern char datatoc_probe_vert_glsl[]; +extern char datatoc_lightprobe_filter_frag_glsl[]; +extern char datatoc_lightprobe_sh_frag_glsl[]; +extern char datatoc_lightprobe_geom_glsl[]; +extern char datatoc_lightprobe_vert_glsl[]; extern char datatoc_background_vert_glsl[]; extern Material defmaterial; @@ -111,12 +111,12 @@ static struct GPUTexture *create_ggx_lut_texture(int UNUSED(w), int UNUSED(h)) BLI_dynstr_free(ds_vert); struct GPUShader *sh = DRW_shader_create_with_lib( - datatoc_probe_vert_glsl, datatoc_probe_geom_glsl, datatoc_bsdf_lut_frag_glsl, lib_str, + datatoc_lightprobe_vert_glsl, datatoc_lightprobe_geom_glsl, datatoc_bsdf_lut_frag_glsl, lib_str, "#define HAMMERSLEY_SIZE 8192\n" "#define BRDF_LUT_SIZE 64\n" "#define NOISE_SIZE 64\n"); - DRWPass *pass = DRW_pass_create("Probe Filtering", DRW_STATE_WRITE_COLOR); + DRWPass *pass = DRW_pass_create("LightProbe Filtering", DRW_STATE_WRITE_COLOR); DRWShadingGroup *grp = DRW_shgroup_create(sh, pass); DRW_shgroup_uniform_float(grp, "sampleCount", &samples_ct, 1); DRW_shgroup_uniform_float(grp, "invSampleCount", &inv_samples_ct, 1); @@ -221,12 +221,12 @@ void EEVEE_materials_init(void) } } -struct GPUMaterial *EEVEE_material_world_probe_get(struct Scene *scene, World *wo) +struct GPUMaterial *EEVEE_material_world_lightprobe_get(struct Scene *scene, World *wo) { return GPU_material_from_nodetree( scene, wo->nodetree, &wo->gpumaterial, &DRW_engine_viewport_eevee_type, VAR_WORLD_PROBE, - datatoc_probe_vert_glsl, datatoc_probe_geom_glsl, e_data.frag_shader_lib, + datatoc_lightprobe_vert_glsl, datatoc_lightprobe_geom_glsl, e_data.frag_shader_lib, SHADER_DEFINES "#define PROBE_CAPTURE\n"); } @@ -239,12 +239,12 @@ struct GPUMaterial *EEVEE_material_world_background_get(struct Scene *scene, Wor SHADER_DEFINES "#define WORLD_BACKGROUND\n"); } -struct GPUMaterial *EEVEE_material_mesh_probe_get(struct Scene *scene, Material *ma) +struct GPUMaterial *EEVEE_material_mesh_lightprobe_get(struct Scene *scene, Material *ma) { return GPU_material_from_nodetree( scene, ma->nodetree, &ma->gpumaterial, &DRW_engine_viewport_eevee_type, VAR_MAT_MESH | VAR_MAT_PROBE, - datatoc_probe_vert_glsl, NULL, e_data.frag_shader_lib, + datatoc_lightprobe_vert_glsl, NULL, e_data.frag_shader_lib, SHADER_DEFINES "#define MESH_SHADER\n" "#define PROBE_CAPTURE\n"); } diff --git a/source/blender/draw/engines/eevee/eevee_private.h b/source/blender/draw/engines/eevee/eevee_private.h index 28683b0a40e..f3b37f41532 100644 --- a/source/blender/draw/engines/eevee/eevee_private.h +++ b/source/blender/draw/engines/eevee/eevee_private.h @@ -166,7 +166,7 @@ enum { }; /* ************ PROBE UBO ************* */ -typedef struct EEVEE_Probe { +typedef struct EEVEE_LightProbe { float position[3], parallax_type; float shcoefs[9][3], pad2; float attenuation_fac; @@ -174,10 +174,10 @@ typedef struct EEVEE_Probe { float pad3[2]; float attenuationmat[4][4]; float parallaxmat[4][4]; -} EEVEE_Probe; +} EEVEE_LightProbe; /* ************ PROBE DATA ************* */ -typedef struct EEVEE_ProbesInfo { +typedef struct EEVEE_LightProbesInfo { int num_cube, cache_num_cube; int update_flag; /* Actual number of probes that have datas. */ @@ -199,10 +199,10 @@ typedef struct EEVEE_ProbesInfo { /* XXX This is fragile, can get out of sync quickly. */ struct Object *probes_ref[MAX_PROBE]; /* UBO Storage : data used by UBO */ - struct EEVEE_Probe probe_data[MAX_PROBE]; -} EEVEE_ProbesInfo; + struct EEVEE_LightProbe probe_data[MAX_PROBE]; +} EEVEE_LightProbesInfo; -/* EEVEE_ProbesInfo->update_flag */ +/* EEVEE_LightProbesInfo->update_flag */ enum { PROBE_UPDATE_CUBE = (1 << 0), }; @@ -270,7 +270,7 @@ typedef struct EEVEE_SceneLayerData { struct ListBase shadow_casters; /* Shadow casters gathered during cache iteration */ /* Probes */ - struct EEVEE_ProbesInfo *probes; + struct EEVEE_LightProbesInfo *probes; struct GPUUniformBuffer *probe_ubo; @@ -293,11 +293,11 @@ typedef struct EEVEE_LampEngineData { void *storage; /* either EEVEE_LightData, EEVEE_ShadowCubeData, EEVEE_ShadowCascadeData */ } EEVEE_LampEngineData; -typedef struct EEVEE_ProbeEngineData { +typedef struct EEVEE_LightProbeEngineData { bool need_update; bool ready_to_shade; struct ListBase captured_object_list; -} EEVEE_ProbeEngineData; +} EEVEE_LightProbeEngineData; typedef struct EEVEE_ObjectEngineData { bool need_update; @@ -323,7 +323,7 @@ typedef struct EEVEE_PrivateData { /* eevee_data.c */ EEVEE_SceneLayerData *EEVEE_scene_layer_data_get(void); EEVEE_ObjectEngineData *EEVEE_object_data_get(Object *ob); -EEVEE_ProbeEngineData *EEVEE_probe_data_get(Object *ob); +EEVEE_LightProbeEngineData *EEVEE_lightprobe_data_get(Object *ob); EEVEE_LampEngineData *EEVEE_lamp_data_get(Object *ob); @@ -332,9 +332,9 @@ void EEVEE_materials_init(void); void EEVEE_materials_cache_init(EEVEE_Data *vedata); void EEVEE_materials_cache_populate(EEVEE_Data *vedata, EEVEE_SceneLayerData *sldata, Object *ob, struct Batch *geom); void EEVEE_materials_cache_finish(EEVEE_Data *vedata); -struct GPUMaterial *EEVEE_material_world_probe_get(struct Scene *scene, struct World *wo); +struct GPUMaterial *EEVEE_material_world_lightprobe_get(struct Scene *scene, struct World *wo); struct GPUMaterial *EEVEE_material_world_background_get(struct Scene *scene, struct World *wo); -struct GPUMaterial *EEVEE_material_mesh_probe_get(struct Scene *scene, Material *ma); +struct GPUMaterial *EEVEE_material_mesh_lightprobe_get(struct Scene *scene, Material *ma); struct GPUMaterial *EEVEE_material_mesh_get(struct Scene *scene, Material *ma); void EEVEE_materials_free(void); @@ -348,13 +348,13 @@ void EEVEE_lights_update(EEVEE_SceneLayerData *sldata); void EEVEE_draw_shadows(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl); void EEVEE_lights_free(void); -/* eevee_probes.c */ -void EEVEE_probes_init(EEVEE_SceneLayerData *sldata); -void EEVEE_probes_cache_init(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl); -void EEVEE_probes_cache_add(EEVEE_SceneLayerData *sldata, Object *ob); -void EEVEE_probes_cache_finish(EEVEE_SceneLayerData *sldata); -void EEVEE_probes_refresh(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl); -void EEVEE_probes_free(void); +/* eevee_lightprobes.c */ +void EEVEE_lightprobes_init(EEVEE_SceneLayerData *sldata); +void EEVEE_lightprobes_cache_init(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl); +void EEVEE_lightprobes_cache_add(EEVEE_SceneLayerData *sldata, Object *ob); +void EEVEE_lightprobes_cache_finish(EEVEE_SceneLayerData *sldata); +void EEVEE_lightprobes_refresh(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl); +void EEVEE_lightprobes_free(void); /* eevee_effects.c */ void EEVEE_effects_init(EEVEE_Data *vedata); diff --git a/source/blender/draw/engines/eevee/shaders/probe_filter_frag.glsl b/source/blender/draw/engines/eevee/shaders/lightprobe_filter_frag.glsl index 33714c5293c..33714c5293c 100644 --- a/source/blender/draw/engines/eevee/shaders/probe_filter_frag.glsl +++ b/source/blender/draw/engines/eevee/shaders/lightprobe_filter_frag.glsl diff --git a/source/blender/draw/engines/eevee/shaders/probe_geom.glsl b/source/blender/draw/engines/eevee/shaders/lightprobe_geom.glsl index c7250e1212e..c7250e1212e 100644 --- a/source/blender/draw/engines/eevee/shaders/probe_geom.glsl +++ b/source/blender/draw/engines/eevee/shaders/lightprobe_geom.glsl diff --git a/source/blender/draw/engines/eevee/shaders/probe_sh_frag.glsl b/source/blender/draw/engines/eevee/shaders/lightprobe_sh_frag.glsl index 1bb14b76f42..1bb14b76f42 100644 --- a/source/blender/draw/engines/eevee/shaders/probe_sh_frag.glsl +++ b/source/blender/draw/engines/eevee/shaders/lightprobe_sh_frag.glsl diff --git a/source/blender/draw/engines/eevee/shaders/probe_vert.glsl b/source/blender/draw/engines/eevee/shaders/lightprobe_vert.glsl index f5077d52845..f5077d52845 100644 --- a/source/blender/draw/engines/eevee/shaders/probe_vert.glsl +++ b/source/blender/draw/engines/eevee/shaders/lightprobe_vert.glsl |