15 const float air_density,
16 const float dust_density,
17 const float ozone_density)
18 : sun_elevation(sun_elevation),
20 air_density(air_density),
21 dust_density(dust_density),
22 ozone_density(ozone_density)
45 int width = metadata.
width;
46 int height = metadata.
height;
47 float *pixel_data = (
float *)pixels;
50 const int rows_per_task =
divide_up(1024, width);
51 parallel_for(blocked_range<size_t>(0, height, rows_per_task),
52 [&](
const blocked_range<size_t> &r) {
bool load_metadata(const ImageDeviceFeatures &features, ImageMetaData &metadata) override
bool equals(const ImageLoader &) const override
bool load_pixels(const ImageMetaData &metadata, void *pixels, const size_t, const bool) override
string name() const override
SkyLoader(const float sun_elevation, const float altitude, const float air_density, const float dust_density, float ozone_density)
#define CCL_NAMESPACE_END
void SKY_nishita_skymodel_precompute_texture(float *pixels, int stride, int start_y, int end_y, int width, int height, float sun_elevation, float altitude, float air_density, float dust_density, float ozone_density)
ccl_device_inline size_t divide_up(const size_t x, const size_t y)