Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2020-11-06 15:35:19 +0300
committerJacques Lucke <jacques@blender.org>2020-11-06 15:35:19 +0300
commit41db8f2fce1763c312a7fa47ed3aa338e6d77124 (patch)
treecc38e034a760ffe83859d38eb335ce4f1599e7fc /source/blender/blenloader/intern/readfile.c
parentda96389dcba7b07506fd241616e7b1db3ba7a27b (diff)
Refactor: move LightCache .blend I/O to eevee_lightcache.c
Ref T76372.
Diffstat (limited to 'source/blender/blenloader/intern/readfile.c')
-rw-r--r--source/blender/blenloader/intern/readfile.c43
1 files changed, 1 insertions, 42 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index f7ae7e1e2a2..fcf839f8751 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -3894,47 +3894,6 @@ static void lib_link_sequence_modifiers(BlendLibReader *reader, Scene *scene, Li
}
}
-static void direct_link_lightcache_texture(BlendDataReader *reader, LightCacheTexture *lctex)
-{
- lctex->tex = NULL;
-
- if (lctex->data) {
- BLO_read_data_address(reader, &lctex->data);
- if (lctex->data && BLO_read_requires_endian_switch(reader)) {
- int data_size = lctex->components * lctex->tex_size[0] * lctex->tex_size[1] *
- lctex->tex_size[2];
-
- if (lctex->data_type == LIGHTCACHETEX_FLOAT) {
- BLI_endian_switch_float_array((float *)lctex->data, data_size * sizeof(float));
- }
- else if (lctex->data_type == LIGHTCACHETEX_UINT) {
- BLI_endian_switch_uint32_array((uint *)lctex->data, data_size * sizeof(uint));
- }
- }
- }
-
- if (lctex->data == NULL) {
- zero_v3_int(lctex->tex_size);
- }
-}
-
-static void direct_link_lightcache(BlendDataReader *reader, LightCache *cache)
-{
- cache->flag &= ~LIGHTCACHE_NOT_USABLE;
- direct_link_lightcache_texture(reader, &cache->cube_tx);
- direct_link_lightcache_texture(reader, &cache->grid_tx);
-
- if (cache->cube_mips) {
- BLO_read_data_address(reader, &cache->cube_mips);
- for (int i = 0; i < cache->mips_len; i++) {
- direct_link_lightcache_texture(reader, &cache->cube_mips[i]);
- }
- }
-
- BLO_read_data_address(reader, &cache->cube_data);
- BLO_read_data_address(reader, &cache->grid_data);
-}
-
/* check for cyclic set-scene,
* libs can cause this case which is normally prevented, see (T#####) */
#define USE_SETSCENE_CHECK
@@ -4512,7 +4471,7 @@ static void direct_link_scene(BlendDataReader *reader, Scene *sce)
/* else try to read the cache from file. */
BLO_read_data_address(reader, &sce->eevee.light_cache_data);
if (sce->eevee.light_cache_data) {
- direct_link_lightcache(reader, sce->eevee.light_cache_data);
+ EEVEE_lightcache_blend_read_data(reader, sce->eevee.light_cache_data);
}
}
EEVEE_lightcache_info_update(&sce->eevee);