diff --git a/source/blender/draw/CMakeLists.txt b/source/blender/draw/CMakeLists.txt index 19d7ba50390..9d24c7b71a8 100644 --- a/source/blender/draw/CMakeLists.txt +++ b/source/blender/draw/CMakeLists.txt @@ -150,7 +150,7 @@ set(SRC engines/eevee_next/eevee_lightcache.cc engines/eevee_next/eevee_lightprobe.cc engines/eevee_next/eevee_lookdev.cc - engines/eevee_next/eevee_lut.cc + engines/eevee_next/eevee_precompute.cc engines/eevee_next/eevee_material.cc engines/eevee_next/eevee_motion_blur.cc engines/eevee_next/eevee_pipeline.cc @@ -282,7 +282,6 @@ set(SRC engines/compositor/compositor_engine.h engines/eevee/eevee_engine.h engines/eevee/eevee_lightcache.h - engines/eevee/eevee_lut.h engines/eevee/eevee_private.h engines/eevee/engine_eevee_shared_defines.h engines/eevee_next/eevee_ambient_occlusion.hh @@ -299,7 +298,7 @@ set(SRC engines/eevee_next/eevee_lightcache.hh engines/eevee_next/eevee_lightprobe.hh engines/eevee_next/eevee_lookdev.hh - engines/eevee_next/eevee_lut.hh + engines/eevee_next/eevee_precompute.hh engines/eevee_next/eevee_material.hh engines/eevee_next/eevee_motion_blur.hh engines/eevee_next/eevee_pipeline.hh diff --git a/source/blender/draw/engines/eevee_next/eevee_lut.cc b/source/blender/draw/engines/eevee_next/eevee_precompute.cc similarity index 75% rename from source/blender/draw/engines/eevee_next/eevee_lut.cc rename to source/blender/draw/engines/eevee_next/eevee_precompute.cc index 83ea4edbbb3..93ca3f6d036 100644 --- a/source/blender/draw/engines/eevee_next/eevee_lut.cc +++ b/source/blender/draw/engines/eevee_next/eevee_precompute.cc @@ -8,23 +8,23 @@ * LUT generation module. */ -#include "eevee_lut.hh" +#include "eevee_precompute.hh" namespace blender::eevee { -LookUpTable::LookUpTable(draw::Manager &manager, LookUpTableType table_type, int3 table_extent) +Precompute::Precompute(draw::Manager &manager, PrecomputeType type, int3 table_extent) { table_extent_ = table_extent; eGPUTextureUsage usage = GPU_TEXTURE_USAGE_SHADER_WRITE | GPU_TEXTURE_USAGE_HOST_READ; - Texture table_tx = {"LUT Precompute"}; + Texture table_tx = {"Precompute"}; table_tx.ensure_3d(GPU_RGBA32F, table_extent, usage); GPUShader *shader = GPU_shader_create_from_info_name("eevee_lut"); - PassSimple lut_ps = {"LUT Precompute"}; + PassSimple lut_ps = {"Precompute"}; lut_ps.shader_set(shader); - lut_ps.push_constant("table_type", int(table_type)); + lut_ps.push_constant("table_type", int(type)); lut_ps.push_constant("table_extent", table_extent); lut_ps.bind_image("table_img", table_tx); lut_ps.dispatch(math::divide_ceil(table_extent, int3(int2(LUT_WORKGROUP_SIZE), 1))); @@ -37,7 +37,7 @@ LookUpTable::LookUpTable(draw::Manager &manager, LookUpTableType table_type, int GPU_shader_free(shader); } -LookUpTable::~LookUpTable() +Precompute::~Precompute() { MEM_SAFE_FREE(raw_data_); } diff --git a/source/blender/draw/engines/eevee_next/eevee_lut.hh b/source/blender/draw/engines/eevee_next/eevee_precompute.hh similarity index 95% rename from source/blender/draw/engines/eevee_next/eevee_lut.hh rename to source/blender/draw/engines/eevee_next/eevee_precompute.hh index 7a5aa50592a..7acb25b1f45 100644 --- a/source/blender/draw/engines/eevee_next/eevee_lut.hh +++ b/source/blender/draw/engines/eevee_next/eevee_precompute.hh @@ -21,16 +21,16 @@ namespace blender::eevee { /** * Create a look-up table of the specified type using GPU compute. * Not to be used at runtime in final release. - * Usage example: `LookUpTable(manager, LUT_GGX_BRDF_SPLIT_SUM, {64, 64, 1}).data()` + * Usage example: `Precompute(manager, LUT_GGX_BRDF_SPLIT_SUM, {64, 64, 1}).data()` */ -class LookUpTable { +class Precompute { private: int3 table_extent_; float4 *raw_data_ = nullptr; public: - LookUpTable(draw::Manager &manager, LookUpTableType table_type, int3 table_extent); - ~LookUpTable(); + Precompute(draw::Manager &manager, PrecomputeType type, int3 table_extent); + ~Precompute(); /* Cast each pixel data to type `T`. */ template Vector data() diff --git a/source/blender/draw/engines/eevee_next/eevee_shader_shared.hh b/source/blender/draw/engines/eevee_next/eevee_shader_shared.hh index 0af8c38ddf2..755b70492af 100644 --- a/source/blender/draw/engines/eevee_next/eevee_shader_shared.hh +++ b/source/blender/draw/engines/eevee_next/eevee_shader_shared.hh @@ -86,7 +86,7 @@ enum eDebugMode : uint32_t { /** \name Look-Up Table Generation * \{ */ -enum LookUpTableType : uint32_t { +enum PrecomputeType : uint32_t { LUT_GGX_BRDF_SPLIT_SUM = 0u, LUT_GGX_BTDF_SPLIT_SUM = 1u, }; diff --git a/source/blender/draw/tests/eevee_test.cc b/source/blender/draw/tests/eevee_test.cc index b05634e619d..f3e929e8c1e 100644 --- a/source/blender/draw/tests/eevee_test.cc +++ b/source/blender/draw/tests/eevee_test.cc @@ -16,7 +16,7 @@ #include "draw_shader.h" #include "draw_testing.hh" #include "engines/eevee_next/eevee_instance.hh" -#include "engines/eevee_next/eevee_lut.hh" +#include "engines/eevee_next/eevee_precompute.hh" namespace blender::draw { @@ -1448,8 +1448,8 @@ static void test_eevee_lut_gen() Manager manager; /* Check if LUT generation matches the header version. */ - auto bsdf_ggx_gen = LookUpTable(manager, LUT_GGX_BRDF_SPLIT_SUM, {64, 64, 1}).data(); - auto btdf_ggx_gen = LookUpTable(manager, LUT_GGX_BTDF_SPLIT_SUM, {64, 64, 16}).data(); + auto bsdf_ggx_gen = Precompute(manager, LUT_GGX_BRDF_SPLIT_SUM, {64, 64, 1}).data(); + auto btdf_ggx_gen = Precompute(manager, LUT_GGX_BTDF_SPLIT_SUM, {64, 64, 16}).data(); Span bsdf_ggx_lut(reinterpret_cast(bsdf_split_sum_ggx), 64 * 64); Span btdf_ggx_lut(reinterpret_cast(btdf_split_sum_ggx), 64 * 64 * 16);