111 const rcti render_region =
rcti{0, viewport_size.x, 0, viewport_size.y};
115 return render_region;
130 rcti visible_camera_region;
131 BLI_rcti_isect(&render_region, &camera_region, &visible_camera_region);
133 return visible_camera_region;
163 if (view_layer != 0) {
197 switch (
get_scene().r.compositor_precision) {
230 int2 last_compositing_region_size_;
234 : context_(texture_pool_, info_message),
235 evaluator_(context_),
236 last_compositing_region_size_(context_.get_compositing_region_size())
304#if defined(__APPLE__)
316#if defined(__APPLE__)
336 compositor_data->
info[0] =
'\0';
#define BLI_assert_unreachable()
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void BLI_rcti_rctf_copy_floor(struct rcti *dst, const struct rctf *src)
bool BLI_rcti_isect(const struct rcti *src1, const struct rcti *src2, struct rcti *dest)
bool DEG_id_type_updated(const Depsgraph *depsgraph, short id_type)
ID * DEG_get_original_id(ID *id)
ID and Library types, which are fundamental for SDNA.
Enumerations for DNA_ID.h.
Object is a sort of wrapper for general info.
#define RE_PASSNAME_COMBINED
@ SCE_COMPOSITOR_PRECISION_FULL
@ SCE_COMPOSITOR_PRECISION_AUTO
char DRWViewportEmptyList
#define DRW_VIEWPORT_DATA_SIZE(ty)
void ED_view3d_calc_camera_border(const Scene *scene, const Depsgraph *depsgraph, const ARegion *region, const View3D *v3d, const RegionView3D *rv3d, bool no_shift, rctf *r_viewborder)
eGPUBackendType GPU_backend_get_type()
void copy(char *dst, int64_t dst_size) const
GPUTexture * gpu_texture()
bool use_gpu() const override
realtime_compositor::Result get_viewer_output_result(realtime_compositor::Domain, bool, realtime_compositor::ResultPrecision) override
bool should_compute_node_previews() const override
const bNodeTree & get_node_tree() const override
IDRecalcFlag query_id_recalc_flag(ID *id) const override
Context(realtime_compositor::TexturePool &texture_pool, char *info_message)
bool use_file_output() const override
StringRef get_view_name() const override
const RenderData & get_render_data() const override
realtime_compositor::Result get_output_result() override
int2 get_render_size() const override
const Scene & get_scene() const override
rcti get_compositing_region() const override
bool use_composite_output() const override
realtime_compositor::ResultPrecision get_precision() const override
GPUTexture * get_input_texture(const Scene *scene, int view_layer, const char *pass_name) override
void set_info_message(StringRef message) const override
void update_compositing_region_size()
Engine(char *info_message)
void update(const Depsgraph *depsgraph)
GPUTexture * allocate_texture(int2 size, eGPUTextureFormat format) override
Result create_result(ResultType type, ResultPrecision precision)
int2 get_compositing_region_size() const
TexturePool & texture_pool()
void wrap_external(GPUTexture *texture)
static const DrawEngineDataSize compositor_data_size
static void compositor_engine_draw(void *data)
static void compositor_engine_update(void *data)
static void compositor_engine_free(void *instance_data)
static void compositor_engine_init(void *data)
DrawEngineType draw_engine_compositor_type
const Depsgraph * depsgraph
bool DRW_state_is_viewport_image_render()
blender::draw::TextureFromPool & DRW_viewport_pass_texture_get(const char *pass_name)
const float * DRW_viewport_size_get()
DrawData * DRW_drawdata_ensure(ID *id, DrawEngineType *engine_type, size_t size, DrawDataInitCb init_cb, DrawDataFreeCb free_cb)
DefaultTextureList * DRW_viewport_texture_list_get()
const DRWContextState * DRW_context_state_get()
GPUTexture * DRW_texture_pool_query_2d(int w, int h, eGPUTextureFormat format, DrawEngineType *engine_type)
VecBase< int32_t, 2 > int2
VecBase< float, 2 > float2
DRWViewportEmptyList * txl
DRWViewportEmptyList * stl
DRWViewportEmptyList * fbl
DrawEngineType * engine_type
DRWViewportEmptyList * psl
struct bNodeTree * nodetree