Blender V5.0
SEQ_render.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2004 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
10
11#include "DNA_space_enums.h"
12
13struct Depsgraph;
14struct GPUOffScreen;
15struct GPUViewport;
16struct ImBuf;
17struct ListBase;
18struct Main;
19struct Render;
20struct Scene;
21struct Strip;
22struct StripElem;
23
24namespace blender::seq {
25
30
31struct RenderData {
32 Main *bmain = nullptr;
33 Depsgraph *depsgraph = nullptr;
34 Scene *scene = nullptr;
35 int rectx = 0;
36 int recty = 0;
38 bool use_proxies = false;
41 float motion_blur_shutter = 0.0f;
42 bool skip_cache = false;
43 bool is_proxy_render = false;
44 bool is_prefetch_render = false;
45 bool is_playing = false;
46 bool is_scrubbing = false;
47 int view_id = 0;
48 /* ID of task for assigning temp cache entries to particular task(thread, etc.) */
50
51 /* Set when executing as part of a frame or animation render. */
52 Render *render = nullptr;
53
54 /* special case for OpenGL render */
57 // int gpu_samples;
58 // bool gpu_full_samples;
59};
60
66ImBuf *render_give_ibuf(const RenderData *context, float timeline_frame, int chanshown);
67ImBuf *render_give_ibuf_direct(const RenderData *context, float timeline_frame, Strip *strip);
69 Depsgraph *depsgraph,
70 Scene *scene,
71 int rectx,
72 int recty,
73 eSpaceSeq_Proxy_RenderSize preview_render_size,
75 RenderData *r_context);
76StripElem *render_give_stripelem(const Scene *scene, const Strip *strip, int timeline_frame);
77
78void render_imbuf_from_sequencer_space(const Scene *scene, ImBuf *ibuf);
79void render_pixel_from_sequencer_space_v4(const Scene *scene, float pixel[4]);
84bool render_is_muted(const ListBase *channels, const Strip *strip);
85
90float get_render_scale_factor(eSpaceSeq_Proxy_RenderSize render_size, short scene_render_scale);
91float get_render_scale_factor(const RenderData &context);
92
93} // namespace blender::seq
eSpaceSeq_Proxy_RenderSize
@ SEQ_RENDER_SIZE_SCENE
BPy_StructRNA * depsgraph
bool render_is_muted(const ListBase *channels, const Strip *strip)
Definition render.cc:2110
ImBuf * render_give_ibuf(const RenderData *context, float timeline_frame, int chanshown)
Definition render.cc:2028
float get_render_scale_factor(eSpaceSeq_Proxy_RenderSize render_size, short scene_render_scale)
Definition render.cc:2118
@ SEQ_TASK_PREFETCH_RENDER
Definition SEQ_render.hh:28
void render_new_render_data(Main *bmain, Depsgraph *depsgraph, Scene *scene, int rectx, int recty, eSpaceSeq_Proxy_RenderSize preview_render_size, Render *render, RenderData *r_context)
Definition render.cc:210
void render_pixel_from_sequencer_space_v4(const Scene *scene, float pixel[4])
Definition render.cc:189
void render_imbuf_from_sequencer_space(const Scene *scene, ImBuf *ibuf)
Definition render.cc:167
StripElem * render_give_stripelem(const Scene *scene, const Strip *strip, int timeline_frame)
Definition render.cc:238
ImBuf * render_give_ibuf_direct(const RenderData *context, float timeline_frame, Strip *strip)
Definition render.cc:2100
GPUOffScreen * gpu_offscreen
Definition SEQ_render.hh:55
eSpaceSeq_Proxy_RenderSize preview_render_size
Definition SEQ_render.hh:37
GPUViewport * gpu_viewport
Definition SEQ_render.hh:56