Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/render/image_sky.cpp
| Show All 19 Lines | |||||
| #include "util/util_image.h" | #include "util/util_image.h" | ||||
| #include "util/util_logging.h" | #include "util/util_logging.h" | ||||
| #include "util/util_path.h" | #include "util/util_path.h" | ||||
| #include "util/util_task.h" | #include "util/util_task.h" | ||||
| CCL_NAMESPACE_BEGIN | CCL_NAMESPACE_BEGIN | ||||
| SkyLoader::SkyLoader( | SkyLoader::SkyLoader(float sun_elevation, | ||||
| float sun_elevation, int altitude, float air_density, float dust_density, float ozone_density) | float altitude, | ||||
| float air_density, | |||||
| float dust_density, | |||||
| float ozone_density) | |||||
| : sun_elevation(sun_elevation), | : sun_elevation(sun_elevation), | ||||
| altitude(altitude), | altitude(altitude), | ||||
| air_density(air_density), | air_density(air_density), | ||||
| dust_density(dust_density), | dust_density(dust_density), | ||||
| ozone_density(ozone_density) | ozone_density(ozone_density) | ||||
| { | { | ||||
| } | } | ||||
| Show All 14 Lines | bool SkyLoader::load_pixels(const ImageMetaData &metadata, | ||||
| void *pixels, | void *pixels, | ||||
| const size_t /*pixels_size*/, | const size_t /*pixels_size*/, | ||||
| const bool /*associate_alpha*/) | const bool /*associate_alpha*/) | ||||
| { | { | ||||
| /* definitions */ | /* definitions */ | ||||
| int width = metadata.width; | int width = metadata.width; | ||||
| int height = metadata.height; | int height = metadata.height; | ||||
| float *pixel_data = (float *)pixels; | float *pixel_data = (float *)pixels; | ||||
| float altitude_f = (float)altitude; | |||||
| /* precompute sky texture */ | /* precompute sky texture */ | ||||
| const int rows_per_task = divide_up(1024, width); | const int rows_per_task = divide_up(1024, width); | ||||
| parallel_for(blocked_range<size_t>(0, height, rows_per_task), | parallel_for(blocked_range<size_t>(0, height, rows_per_task), | ||||
| [&](const blocked_range<size_t> &r) { | [&](const blocked_range<size_t> &r) { | ||||
| SKY_nishita_skymodel_precompute_texture(pixel_data, | SKY_nishita_skymodel_precompute_texture(pixel_data, | ||||
| metadata.channels, | metadata.channels, | ||||
| r.begin(), | r.begin(), | ||||
| r.end(), | r.end(), | ||||
| width, | width, | ||||
| height, | height, | ||||
| sun_elevation, | sun_elevation, | ||||
| altitude_f, | altitude, | ||||
| air_density, | air_density, | ||||
| dust_density, | dust_density, | ||||
| ozone_density); | ozone_density); | ||||
| }); | }); | ||||
| return true; | return true; | ||||
| } | } | ||||
| Show All 11 Lines | |||||