28class ColorSpaceProcessor;
99 const size_t pixels_size,
100 const bool associate_alpha) = 0;
103 virtual string name()
const = 0;
143 int svm_slot(
const int slot_index = 0)
const;
174 const bool builtin =
true);
219 void *osl_texture_system;
224 void add_image_user(
const size_t slot);
225 void remove_image_user(
const size_t slot);
226 Image *get_image_slot(
const size_t slot);
228 void load_image_metadata(
Image *img);
230 template<TypeDesc::BASETYPE FileFormat,
typename StorageType>
231 bool file_load_image(
Image *img,
const int texture_limit);
233 void device_load_image(
Device *device,
Scene *scene,
const size_t slot,
Progress &progress);
234 void device_free_image(
Device *device,
const size_t slot);
ImageManager * get_manager() const
bool operator==(const ImageHandle &other) const
friend class ImageManager
ImageHandle & operator=(const ImageHandle &other)
VDBImageLoader * vdb_loader() const
device_texture * image_memory() const
int num_svm_slots() const
vector< int4 > get_svm_slots() const
int svm_slot(const int slot_index=0) const
virtual ~ImageLoader()=default
virtual bool load_pixels(const ImageMetaData &metadata, void *pixels, const size_t pixels_size, const bool associate_alpha)=0
virtual bool load_metadata(const ImageDeviceFeatures &features, ImageMetaData &metadata)=0
virtual bool equals(const ImageLoader &other) const =0
virtual ustring osl_filepath() const
virtual int get_tile_number() const
virtual string name() const =0
virtual bool is_vdb_loader() const
ImageManager(const DeviceInfo &info)
void device_update(Device *device, Scene *scene, Progress &progress)
void device_free(Device *device)
void device_load_builtin(Device *device, Scene *scene, Progress &progress)
bool set_animation_frame_update(const int frame)
void device_free_builtin(Device *device)
ImageHandle add_image(const string &filename, const ImageParams ¶ms)
void collect_statistics(RenderStats *stats)
void device_update_slot(Device *device, Scene *scene, const size_t slot, Progress &progress)
void set_osl_texture_system(void *texture_system)
bool operator==(const ImageParams &other) const
ImageAlphaType alpha_type
InterpolationType interpolation
#define CCL_NAMESPACE_END
ccl_gpu_kernel_postfix ccl_global KernelWorkTile * tiles
unique_ptr< device_texture > mem
unique_ptr< ImageLoader > loader