diff options
author | 3gg <3gg@shellblade.net> | 2025-06-27 10:18:39 -0700 |
---|---|---|
committer | 3gg <3gg@shellblade.net> | 2025-06-27 10:18:39 -0700 |
commit | bd57f345ed9dbed1d81683e48199626de2ea9044 (patch) | |
tree | 4221f2f2a7ad2244d2e93052bd68187ec91b8ea9 /include/gfx/util/ibl.h | |
parent | 9a82ce0083437a4f9f58108b2c23b957d2249ad8 (diff) |
Diffstat (limited to 'include/gfx/util/ibl.h')
-rw-r--r-- | include/gfx/util/ibl.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/include/gfx/util/ibl.h b/include/gfx/util/ibl.h new file mode 100644 index 0000000..6e39180 --- /dev/null +++ b/include/gfx/util/ibl.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /// Functions for image-based lighting. | ||
2 | #pragma once | ||
3 | |||
4 | typedef struct IBL IBL; | ||
5 | |||
6 | typedef struct GfxCore GfxCore; | ||
7 | typedef struct Texture Texture; | ||
8 | |||
9 | /// Create an environment map filterer for IBL. | ||
10 | IBL* gfx_make_ibl(GfxCore*); | ||
11 | |||
12 | /// Destroy the environment map filterer. | ||
13 | void gfx_destroy_ibl(GfxCore*, IBL**); | ||
14 | |||
15 | /// Create a BRDF integration map for IBL. | ||
16 | Texture* gfx_make_brdf_integration_map(IBL*, GfxCore*, int width, int height); | ||
17 | |||
18 | /// Create an irradiance map (cubemap) from an environment map for IBL. | ||
19 | Texture* gfx_make_irradiance_map( | ||
20 | IBL*, GfxCore*, const Texture* environment_map, int width, int height); | ||
21 | |||
22 | /// Create a prefiltered environment map (cubemap) for IBL. | ||
23 | Texture* gfx_make_prefiltered_environment_map( | ||
24 | IBL*, GfxCore*, const Texture* environment_map, int width, int height, | ||
25 | int* max_mip_level); | ||