|
Blender V4.3
|
#include "BKE_studiolight.h"#include "BKE_appdir.hh"#include "BKE_icons.h"#include "BLI_dynstr.h"#include "BLI_fileops.h"#include "BLI_fileops_types.h"#include "BLI_linklist.h"#include "BLI_listbase.h"#include "BLI_math_color.h"#include "BLI_math_vector.h"#include "BLI_path_utils.hh"#include "BLI_string.h"#include "DNA_listBase.h"#include "IMB_imbuf.hh"#include "IMB_interp.hh"#include "IMB_openexr.hh"#include "GPU_texture.hh"#include "MEM_guardedalloc.h"#include <cstring>Go to the source code of this file.
Classes | |
| struct | MultilayerConvertContext |
Macros | |
| #define | STUDIOLIGHT_PASSNAME_DIFFUSE "diffuse" |
| #define | STUDIOLIGHT_PASSNAME_SPECULAR "specular" |
| #define | ITER_PIXELS(type, src, channels, width, height) |
| #define | ITER_PIXELS_END |
| #define | IMB_SAFE_FREE(p) |
| #define | GPU_TEXTURE_SAFE_FREE(p) |
| #define | STUDIOLIGHT_DELETE_ICON(s) |
| #define | STUDIOLIGHT_FILE_VERSION 1 |
| #define | READ_VAL(type, parser, id, val, lines) |
| #define | READ_FVAL(id, val, lines) READ_VAL(float, atof, id, val, lines) |
| #define | READ_IVAL(id, val, lines) READ_VAL(int, atoi, id, val, lines) |
| #define | READ_VEC3(id, val, lines) |
| #define | READ_SOLIDLIGHT(sl, i, lines) |
| #define | WRITE_FVAL(str, id, val) BLI_dynstr_appendf(str, id " %f\n", val) |
| #define | WRITE_IVAL(str, id, val) BLI_dynstr_appendf(str, id " %d\n", val) |
| #define | WRITE_VEC3(str, id, val) |
| #define | WRITE_SOLIDLIGHT(str, sl, i) |
| #define | STUDIOLIGHT_DIAMETER 0.95f |
| #define | RESCALE_COORD(x) (x / STUDIOLIGHT_DIAMETER - (1.0f - STUDIOLIGHT_DIAMETER) / 2.0f) |
Variables | |
| static ListBase | studiolights |
| static int | last_studiolight_id = 0 |
| static const char * | STUDIOLIGHT_LIGHTS_FOLDER = "studiolights" SEP_STR "studio" SEP_STR |
| static const char * | STUDIOLIGHT_WORLD_FOLDER = "studiolights" SEP_STR "world" SEP_STR |
| static const char * | STUDIOLIGHT_MATCAP_FOLDER = "studiolights" SEP_STR "matcap" SEP_STR |
| static const char * | STUDIOLIGHT_WORLD_DEFAULT = "forest.exr" |
| static const char * | STUDIOLIGHT_MATCAP_DEFAULT = "basic_1.exr" |
| #define GPU_TEXTURE_SAFE_FREE | ( | p | ) |
Definition at line 91 of file studiolight.cc.
Referenced by studiolight_free().
| #define IMB_SAFE_FREE | ( | p | ) |
Definition at line 83 of file studiolight.cc.
Referenced by studiolight_free_image_buffers().
| #define ITER_PIXELS | ( | type, | |
| src, | |||
| channels, | |||
| width, | |||
| height ) |
Iter on all pixel giving texel center position and pixel pointer.
Arguments type : type of src. src : source buffer. channels : number of channels per pixel.
Others x, y : normalized UV coordinate [0..1] of the current pixel center. texel_size[2] : UV size of a pixel in this texture. pixel[] : pointer to the current pixel.
Definition at line 66 of file studiolight.cc.
Referenced by studiolight_irradiance_preview(), studiolight_matcap_preview(), and studiolight_radiance_preview().
| #define ITER_PIXELS_END |
Definition at line 76 of file studiolight.cc.
Referenced by studiolight_irradiance_preview(), studiolight_matcap_preview(), and studiolight_radiance_preview().
Definition at line 186 of file studiolight.cc.
Definition at line 187 of file studiolight.cc.
| #define READ_SOLIDLIGHT | ( | sl, | |
| i, | |||
| lines ) |
Definition at line 196 of file studiolight.cc.
Referenced by studiolight_load_solid_light().
| #define READ_VAL | ( | type, | |
| parser, | |||
| id, | |||
| val, | |||
| lines ) |
Definition at line 175 of file studiolight.cc.
| #define READ_VEC3 | ( | id, | |
| val, | |||
| lines ) |
Definition at line 189 of file studiolight.cc.
Referenced by studiolight_load_solid_light().
| #define RESCALE_COORD | ( | x | ) | (x / STUDIOLIGHT_DIAMETER - (1.0f - STUDIOLIGHT_DIAMETER) / 2.0f) |
Definition at line 676 of file studiolight.cc.
Referenced by studiolight_irradiance_preview(), studiolight_matcap_preview(), and studiolight_radiance_preview().
| #define STUDIOLIGHT_DELETE_ICON | ( | s | ) |
Referenced by studiolight_free().
| #define STUDIOLIGHT_DIAMETER 0.95f |
Definition at line 674 of file studiolight.cc.
| #define STUDIOLIGHT_FILE_VERSION 1 |
Definition at line 173 of file studiolight.cc.
Referenced by studiolight_write_solid_light().
| #define STUDIOLIGHT_PASSNAME_DIFFUSE "diffuse" |
Definition at line 41 of file studiolight.cc.
Referenced by studiolight_multilayer_addpass().
| #define STUDIOLIGHT_PASSNAME_SPECULAR "specular" |
Definition at line 42 of file studiolight.cc.
Referenced by studiolight_multilayer_addpass().
| #define WRITE_FVAL | ( | str, | |
| id, | |||
| val ) BLI_dynstr_appendf(str, id " %f\n", val) |
Definition at line 223 of file studiolight.cc.
| #define WRITE_IVAL | ( | str, | |
| id, | |||
| val ) BLI_dynstr_appendf(str, id " %d\n", val) |
Definition at line 224 of file studiolight.cc.
Referenced by studiolight_write_solid_light().
Definition at line 233 of file studiolight.cc.
Referenced by studiolight_write_solid_light().
Definition at line 226 of file studiolight.cc.
Referenced by studiolight_write_solid_light().
Definition at line 663 of file studiolight.cc.
References floorf, len_v2(), max_ff(), min_ff(), and v.
Referenced by studiolight_irradiance_preview(), studiolight_matcap_preview(), and studiolight_radiance_preview().
| BLI_INLINE float area_element | ( | float | x, |
| float | y ) |
Definition at line 502 of file studiolight.cc.
References sqrtf.
| StudioLight * BKE_studiolight_create | ( | const char * | filepath, |
| const SolidLight | light[4], | ||
| const float | light_ambient[3] ) |
Definition at line 997 of file studiolight.cc.
References BLI_addtail(), BLI_path_split_file_part(), FILE_MAXFILE, StudioLight::filepath, StudioLight::light, StudioLight::light_ambient, StudioLight::name, STRNCPY, studiolight_create(), STUDIOLIGHT_EXTERNAL_FILE, STUDIOLIGHT_SPECULAR_HIGHLIGHT_PASS, STUDIOLIGHT_TYPE_STUDIO, STUDIOLIGHT_USER_DEFINED, studiolight_write_solid_light(), and studiolights.
| void BKE_studiolight_default | ( | SolidLight | lights[4], |
| float | light_ambient[3] ) |
Definition at line 782 of file studiolight.cc.
References SolidLight::col, copy_v3_fl3(), SolidLight::flag, SolidLight::smooth, SolidLight::spec, and SolidLight::vec.
Referenced by BKE_blendfile_userdef_from_defaults(), and BKE_studiolight_init().
| void BKE_studiolight_ensure_flag | ( | StudioLight * | sl, |
| int | flag ) |
Ensure state of studio-lights.
Definition at line 959 of file studiolight.cc.
References flag, StudioLight::flag, studiolight_create_equirect_radiance_gputexture(), studiolight_create_matcap_diffuse_gputexture(), studiolight_create_matcap_specular_gputexture(), STUDIOLIGHT_EQUIRECT_RADIANCE_GPUTEXTURE, STUDIOLIGHT_EXTERNAL_IMAGE_LOADED, studiolight_load_equirect_image(), STUDIOLIGHT_MATCAP_DIFFUSE_GPUTEXTURE, and STUDIOLIGHT_MATCAP_SPECULAR_GPUTEXTURE.
Referenced by blender::workbench::get_matcap_tx(), studiolight_create_equirect_radiance_gputexture(), studiolight_create_matcap_diffuse_gputexture(), studiolight_create_matcap_specular_gputexture(), studiolight_matcap_preview(), studiolight_radiance_preview(), and blender::eevee::LookdevWorld::sync().
| StudioLight * BKE_studiolight_find | ( | const char * | name, |
| int | flag ) |
Definition at line 903 of file studiolight.cc.
References BKE_studiolight_find_default(), FILE_MAXFILE, flag, LISTBASE_FOREACH, STREQLEN, and studiolights.
Referenced by blo_do_versions_280(), blender::io::hydra::WorldData::init(), blender::workbench::SceneResources::init(), and blender::eevee::LookdevWorld::sync().
| StudioLight * BKE_studiolight_find_default | ( | int | flag | ) |
Definition at line 878 of file studiolight.cc.
References flag, LISTBASE_FOREACH, STREQ, STUDIOLIGHT_MATCAP_DEFAULT, STUDIOLIGHT_TYPE_MATCAP, STUDIOLIGHT_TYPE_WORLD, STUDIOLIGHT_WORLD_DEFAULT, and studiolights.
Referenced by BKE_studiolight_find(), BKE_studiolight_findindex(), and blo_do_versions_280().
| StudioLight * BKE_studiolight_findindex | ( | int | index, |
| int | flag ) |
Definition at line 919 of file studiolight.cc.
References BKE_studiolight_find_default(), flag, LISTBASE_FOREACH, and studiolights.
| void BKE_studiolight_free | ( | void | ) |
Definition at line 871 of file studiolight.cc.
References BLI_pophead(), studiolight_free(), and studiolights.
Referenced by BKE_blender_free(), and BKE_studiolight_refresh().
| void BKE_studiolight_init | ( | void | ) |
Definition at line 835 of file studiolight.cc.
References BKE_studiolight_default(), BLENDER_SYSTEM_DATAFILES, BLENDER_USER_DATAFILES, BLI_addtail(), BLI_listbase_sort(), StudioLight::light, StudioLight::light_ambient, StudioLight::name, STRNCPY, studiolight_add_files_from_datafolder(), studiolight_cmp(), studiolight_create(), STUDIOLIGHT_INTERNAL, STUDIOLIGHT_LIGHTS_FOLDER, STUDIOLIGHT_MATCAP_FOLDER, STUDIOLIGHT_SPECULAR_HIGHLIGHT_PASS, STUDIOLIGHT_TYPE_MATCAP, STUDIOLIGHT_TYPE_STUDIO, STUDIOLIGHT_TYPE_WORLD, STUDIOLIGHT_USER_DEFINED, STUDIOLIGHT_WORLD_FOLDER, and studiolights.
Referenced by BKE_studiolight_refresh(), and WM_init().
| ListBase * BKE_studiolight_listbase | ( | void | ) |
Definition at line 930 of file studiolight.cc.
References studiolights.
| StudioLight * BKE_studiolight_load | ( | const char * | filepath, |
| int | type ) |
Definition at line 991 of file studiolight.cc.
References studiolight_add_file(), and STUDIOLIGHT_USER_DEFINED.
| void BKE_studiolight_preview | ( | uint * | icon_buffer, |
| StudioLight * | sl, | ||
| int | icon_id_type ) |
Definition at line 935 of file studiolight.cc.
References studiolight_free_temp_resources(), STUDIOLIGHT_ICON_ID_TYPE_IRRADIANCE, STUDIOLIGHT_ICON_ID_TYPE_MATCAP, STUDIOLIGHT_ICON_ID_TYPE_MATCAP_FLIPPED, STUDIOLIGHT_ICON_ID_TYPE_RADIANCE, studiolight_irradiance_preview(), studiolight_matcap_preview(), and studiolight_radiance_preview().
Referenced by ui_studiolight_icon_job_exec().
| void BKE_studiolight_refresh | ( | void | ) |
Definition at line 1030 of file studiolight.cc.
References BKE_studiolight_free(), and BKE_studiolight_init().
| void BKE_studiolight_remove | ( | StudioLight * | sl | ) |
Definition at line 983 of file studiolight.cc.
References BLI_remlink(), StudioLight::flag, studiolight_free(), STUDIOLIGHT_USER_DEFINED, and studiolights.
| void BKE_studiolight_set_free_function | ( | StudioLight * | sl, |
| StudioLightFreeFunction * | free_function, | ||
| void * | data ) |
Definition at line 1036 of file studiolight.cc.
References data, StudioLight::free_function, and StudioLight::free_function_data.
Referenced by ui_icon_ensure_deferred(), and ui_studiolight_icon_job_end().
| StudioLight * BKE_studiolight_studio_edit_get | ( | void | ) |
Only useful for workbench while editing the user-preferences.
Definition at line 1019 of file studiolight.cc.
References StudioLight::flag, StudioLight::light, StudioLight::light_ambient, STUDIOLIGHT_SPECULAR_HIGHLIGHT_PASS, and STUDIOLIGHT_TYPE_STUDIO.
Referenced by blender::workbench::SceneResources::init().
| void BKE_studiolight_unset_icon_id | ( | StudioLight * | sl, |
| int | icon_id ) |
Definition at line 1044 of file studiolight.cc.
References BLI_assert, StudioLight::icon_id_irradiance, StudioLight::icon_id_matcap, StudioLight::icon_id_matcap_flipped, and StudioLight::icon_id_radiance.
Referenced by icon_free_data().
|
static |
Definition at line 522 of file studiolight.cc.
References add_v3_v3v3(), dot_v3v3(), I, L, max_ff(), N, NL, normalize_v3(), powf, R, w(), wrap(), and wrapped_lighting().
Referenced by studiolight_lights_eval().
Definition at line 507 of file studiolight.cc.
Referenced by studiolight_lights_eval().
Definition at line 271 of file studiolight.cc.
References acosf, atan2f, and M_PI.
Referenced by studiolight_calculate_radiance().
Definition at line 679 of file studiolight.cc.
References len_v2(), sqrtf, square_f(), and v.
Referenced by studiolight_irradiance_preview(), and studiolight_radiance_preview().
|
static |
Definition at line 589 of file studiolight.cc.
References BLI_addtail(), BLI_path_extension_check(), BLI_path_extension_check_array(), BLI_path_split_file_part(), FILE_MAXFILE, StudioLight::filepath, flag, imb_ext_image, StudioLight::name, STRNCPY, studiolight_create(), STUDIOLIGHT_EXTERNAL_FILE, studiolight_load_solid_light(), STUDIOLIGHT_TYPE_STUDIO, and studiolights.
Referenced by BKE_studiolight_load(), and studiolight_add_files_from_datafolder().
|
static |
Definition at line 610 of file studiolight.cc.
References BKE_appdir_folder_id(), BLI_filelist_dir_contents(), BLI_filelist_free(), flag, and studiolight_add_file().
Referenced by BKE_studiolight_init().
|
static |
Definition at line 492 of file studiolight.cc.
References direction_to_equirect(), blender::imbuf::interpolate_nearest_border_fl(), ImBuf::x, and ImBuf::y.
Referenced by studiolight_radiance_preview().
|
static |
Definition at line 640 of file studiolight.cc.
References b, BLI_strcasecmp(), StudioLight::name, and studiolight_flag_cmp_order().
Referenced by BKE_studiolight_init().
|
static |
Definition at line 150 of file studiolight.cc.
References BKE_icon_ensure_studio_light(), StudioLight::filepath, flag, StudioLight::flag, StudioLight::free_function, StudioLight::icon_id_irradiance, StudioLight::icon_id_matcap, StudioLight::icon_id_matcap_flipped, StudioLight::icon_id_radiance, StudioLight::index, last_studiolight_id, MEM_callocN, StudioLight::name, STUDIOLIGHT_ICON_ID_TYPE_IRRADIANCE, STUDIOLIGHT_ICON_ID_TYPE_MATCAP, STUDIOLIGHT_ICON_ID_TYPE_MATCAP_FLIPPED, STUDIOLIGHT_ICON_ID_TYPE_RADIANCE, STUDIOLIGHT_TYPE_MATCAP, and STUDIOLIGHT_TYPE_STUDIO.
Referenced by BKE_studiolight_create(), BKE_studiolight_init(), and studiolight_add_file().
|
static |
Definition at line 429 of file studiolight.cc.
References BKE_studiolight_ensure_flag(), ImBufFloatBuffer::data, StudioLight::equirect_radiance_buffer, StudioLight::equirect_radiance_gputexture, StudioLight::flag, ImBuf::float_buffer, GPU_RGBA16F, GPU_SAMPLER_EXTEND_MODE_REPEAT, GPU_texture_create_2d(), GPU_texture_extend_mode(), GPU_texture_filter_mode(), GPU_TEXTURE_USAGE_SHADER_READ, STUDIOLIGHT_EQUIRECT_RADIANCE_GPUTEXTURE, STUDIOLIGHT_EXTERNAL_FILE, STUDIOLIGHT_EXTERNAL_IMAGE_LOADED, tex, ImBuf::x, and ImBuf::y.
Referenced by BKE_studiolight_ensure_flag().
|
static |
Definition at line 469 of file studiolight.cc.
References BKE_studiolight_ensure_flag(), StudioLight::flag, StudioLight::matcap_diffuse, studiolight_create_matcap_gputexture(), STUDIOLIGHT_EXTERNAL_FILE, STUDIOLIGHT_EXTERNAL_IMAGE_LOADED, STUDIOLIGHT_MATCAP_DIFFUSE_GPUTEXTURE, and STUDIOLIGHT_TYPE_MATCAP.
Referenced by BKE_studiolight_ensure_flag().
|
static |
Definition at line 449 of file studiolight.cc.
References BLI_assert, copy_v3_v3(), ImBufFloatBuffer::data, float, ImBuf::float_buffer, GPU_DATA_FLOAT, GPU_R11F_G11F_B10F, GPU_texture_create_2d(), GPU_texture_update(), GPU_TEXTURE_USAGE_SHADER_READ, StudioLightImage::gputexture, StudioLightImage::ibuf, MEM_callocN, MEM_SAFE_FREE, ImBuf::x, and ImBuf::y.
Referenced by studiolight_create_matcap_diffuse_gputexture(), and studiolight_create_matcap_specular_gputexture().
|
static |
Definition at line 479 of file studiolight.cc.
References BKE_studiolight_ensure_flag(), StudioLight::flag, StudioLightImage::ibuf, StudioLight::matcap_specular, studiolight_create_matcap_gputexture(), STUDIOLIGHT_EXTERNAL_FILE, STUDIOLIGHT_EXTERNAL_IMAGE_LOADED, STUDIOLIGHT_MATCAP_SPECULAR_GPUTEXTURE, and STUDIOLIGHT_TYPE_MATCAP.
Referenced by BKE_studiolight_ensure_flag().
|
static |
Definition at line 631 of file studiolight.cc.
References StudioLight::flag, and STUDIOLIGHT_EXTERNAL_FILE.
Referenced by studiolight_cmp().
|
static |
Definition at line 107 of file studiolight.cc.
References StudioLight::equirect_radiance_gputexture, StudioLight::free_function, StudioLight::free_function_data, GPU_TEXTURE_SAFE_FREE, StudioLightImage::gputexture, StudioLight::icon_id_irradiance, StudioLight::icon_id_matcap, StudioLight::icon_id_matcap_flipped, StudioLight::icon_id_radiance, StudioLight::matcap_diffuse, StudioLight::matcap_specular, MEM_SAFE_FREE, STUDIOLIGHT_DELETE_ICON, and studiolight_free_image_buffers().
Referenced by BKE_studiolight_free(), and BKE_studiolight_remove().
|
static |
Definition at line 99 of file studiolight.cc.
References StudioLight::equirect_radiance_buffer, StudioLight::flag, StudioLightImage::ibuf, IMB_SAFE_FREE, StudioLight::matcap_diffuse, and StudioLight::matcap_specular.
Referenced by studiolight_free(), and studiolight_free_temp_resources().
|
static |
Free temp resources when the studio light is only requested for icons.
Only keeps around resources for studio lights that have been used in any viewport.
Definition at line 139 of file studiolight.cc.
References StudioLight::flag, STUDIOLIGHT_EQUIRECT_RADIANCE_GPUTEXTURE, studiolight_free_image_buffers(), STUDIOLIGHT_MATCAP_DIFFUSE_GPUTEXTURE, and STUDIOLIGHT_MATCAP_SPECULAR_GPUTEXTURE.
Referenced by BKE_studiolight_preview().
|
static |
Definition at line 754 of file studiolight.cc.
References alpha_circle_mask(), ITER_PIXELS, ITER_PIXELS_END, linearrgb_to_srgb(), RESCALE_COORD, rgb_to_cpack(), sphere_normal_from_uv(), STUDIOLIGHT_ICON_SIZE, and studiolight_lights_eval().
Referenced by BKE_studiolight_preview().
|
static |
Definition at line 556 of file studiolight.cc.
References add_v3_v3v3(), blinn_specular(), brdf_approx(), copy_v3_v3(), diff(), dot_v3v3(), I, StudioLight::light, StudioLight::light_ambient, madd_v3_v3fl(), mul_v3_fl(), N, NL, R, reflect_v3_v3v3(), STUDIOLIGHT_MAX_LIGHT, and wrapped_lighting().
Referenced by studiolight_irradiance_preview().
|
static |
Definition at line 347 of file studiolight.cc.
References MultilayerConvertContext::diffuse_pass, StudioLight::equirect_radiance_buffer, StudioLight::filepath, StudioLight::flag, ImBuf::ftype, IB_alphamode_ignore, IB_multilayer, StudioLightImage::ibuf, IMB_allocFromBuffer(), IMB_allocFromBufferOwn(), IMB_exr_close(), IMB_exr_multilayer_convert(), IMB_float_from_rect(), IMB_freeImBuf(), IMB_FTYPE_OPENEXR, IMB_loadiffname(), StudioLight::matcap_diffuse, StudioLight::matcap_specular, MultilayerConvertContext::num_diffuse_channels, MultilayerConvertContext::num_specular_channels, MultilayerConvertContext::specular_pass, STUDIOLIGHT_EXTERNAL_FILE, STUDIOLIGHT_EXTERNAL_IMAGE_LOADED, studiolight_multilayer_addlayer(), studiolight_multilayer_addpass(), studiolight_multilayer_addview(), studiolight_multilayer_convert_pass(), STUDIOLIGHT_SPECULAR_HIGHLIGHT_PASS, STUDIOLIGHT_TYPE_MATCAP, ImBuf::userdata, ImBuf::x, and ImBuf::y.
Referenced by BKE_studiolight_ensure_flag().
|
static |
Definition at line 205 of file studiolight.cc.
References BLI_file_free_lines(), BLI_file_read_as_lines(), StudioLight::filepath, StudioLight::light, StudioLight::light_ambient, READ_SOLIDLIGHT, and READ_VEC3.
Referenced by studiolight_add_file().
|
static |
Definition at line 719 of file studiolight.cc.
References add_v3_v3(), alpha_circle_mask(), BKE_studiolight_ensure_flag(), StudioLightImage::ibuf, ITER_PIXELS, ITER_PIXELS_END, linearrgb_to_srgb(), StudioLight::matcap_diffuse, StudioLight::matcap_specular, RESCALE_COORD, rgb_to_cpack(), STUDIOLIGHT_EXTERNAL_IMAGE_LOADED, STUDIOLIGHT_ICON_SIZE, v, ImBuf::x, and ImBuf::y.
Referenced by BKE_studiolight_preview().
|
static |
Definition at line 288 of file studiolight.cc.
Referenced by studiolight_load_equirect_image().
|
static |
Definition at line 322 of file studiolight.cc.
References MultilayerConvertContext::diffuse_pass, MEM_freeN(), MultilayerConvertContext::num_diffuse_channels, MultilayerConvertContext::num_specular_channels, MultilayerConvertContext::specular_pass, STREQ, STUDIOLIGHT_PASSNAME_DIFFUSE, and STUDIOLIGHT_PASSNAME_SPECULAR.
Referenced by studiolight_load_equirect_image().
|
static |
Definition at line 284 of file studiolight.cc.
Referenced by studiolight_load_equirect_image().
|
static |
Definition at line 296 of file studiolight.cc.
References IB_PROFILE_LINEAR_RGB, IMB_buffer_float_from_float(), MEM_callocN, MEM_freeN(), ImBuf::x, and ImBuf::y.
Referenced by studiolight_load_equirect_image().
|
static |
Definition at line 687 of file studiolight.cc.
References alpha_circle_mask(), BKE_studiolight_ensure_flag(), StudioLight::equirect_radiance_buffer, ITER_PIXELS, ITER_PIXELS_END, linearrgb_to_srgb(), reflect_v3_v3v3(), RESCALE_COORD, rgb_to_cpack(), sphere_normal_from_uv(), studiolight_calculate_radiance(), STUDIOLIGHT_EXTERNAL_IMAGE_LOADED, and STUDIOLIGHT_ICON_SIZE.
Referenced by BKE_studiolight_preview().
|
static |
Definition at line 242 of file studiolight.cc.
References BLI_dynstr_free(), BLI_dynstr_get_cstring(), BLI_dynstr_get_len(), BLI_dynstr_new(), BLI_fopen(), StudioLight::filepath, StudioLight::light, StudioLight::light_ambient, MEM_freeN(), str, STUDIOLIGHT_FILE_VERSION, WRITE_IVAL, WRITE_SOLIDLIGHT, and WRITE_VEC3.
Referenced by BKE_studiolight_create().
Definition at line 516 of file studiolight.cc.
References max_ff(), NL, and w().
Referenced by blinn_specular(), and studiolight_lights_eval().
|
static |
Definition at line 40 of file studiolight.cc.
Referenced by studiolight_create().
Definition at line 44 of file studiolight.cc.
Referenced by BKE_studiolight_init().
|
static |
Definition at line 49 of file studiolight.cc.
Referenced by BKE_studiolight_find_default().
Definition at line 46 of file studiolight.cc.
Referenced by BKE_studiolight_init().
|
static |
Definition at line 48 of file studiolight.cc.
Referenced by BKE_studiolight_find_default().
Definition at line 45 of file studiolight.cc.
Referenced by BKE_studiolight_init().
|
static |
Definition at line 39 of file studiolight.cc.
Referenced by BKE_studiolight_create(), BKE_studiolight_find(), BKE_studiolight_find_default(), BKE_studiolight_findindex(), BKE_studiolight_free(), BKE_studiolight_init(), BKE_studiolight_listbase(), BKE_studiolight_remove(), and studiolight_add_file().