43 lines
1.0 KiB
C++
43 lines
1.0 KiB
C++
/* SPDX-FileCopyrightText: 2011-2022 Blender Foundation
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0 */
|
|
|
|
#pragma once
|
|
|
|
#include "DNA_image_types.h"
|
|
|
|
#include "scene/image_loader.h"
|
|
#include "scene/image_vdb.h"
|
|
|
|
#include "util/types.h"
|
|
|
|
struct Image;
|
|
struct ImageUser;
|
|
|
|
CCL_NAMESPACE_BEGIN
|
|
|
|
class BlenderImageLoader : public ImageLoader {
|
|
public:
|
|
BlenderImageLoader(blender::Image *b_image,
|
|
blender::ImageUser *b_iuser,
|
|
const int frame,
|
|
const int tile_number,
|
|
const bool is_preview_render);
|
|
|
|
bool load_metadata(ImageMetaData &metadata,
|
|
const ImageLoaderParams ¶ms,
|
|
Progress &progress) override;
|
|
bool load_pixels(const ImageMetaData &metadata, void *pixels) override;
|
|
string name() const override;
|
|
bool equals(const ImageLoader &other) const override;
|
|
|
|
int get_tile_number() const override;
|
|
|
|
blender::Image *b_image;
|
|
blender::ImageUser b_iuser;
|
|
bool free_cache;
|
|
uint64_t cached_update_count;
|
|
};
|
|
|
|
CCL_NAMESPACE_END
|