Blender V5.0
render.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2024 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
10
12#include "BLI_set.hh"
13#include "BLI_vector.hh"
14
15struct Depsgraph;
16struct ImBuf;
17struct LinkNode;
18struct ListBase;
19struct Mask;
20struct Scene;
21struct RenderData;
22struct Strip;
23
24namespace blender::seq {
25
26/* Mutable state while rendering one sequencer frame. */
31
32/* Strip corner coordinates in screen pixel space. Note that they might not be
33 * axis aligned when rotation is present. */
36
37 bool is_empty() const
38 {
39 return v0 == v1 && v2 == v3 && v0 == v2;
40 }
41};
42
44 SeqRenderState *state,
45 float timeline_frame,
46 int chan_shown,
47 ListBase *channels,
48 ListBase *seqbasep);
49void seq_imbuf_to_sequencer_space(const Scene *scene, ImBuf *ibuf, bool make_float);
51 const Scene *scene, ListBase *channels, ListBase *seqbase, int timeline_frame, int chanshown);
52ImBuf *seq_render_strip(const RenderData *context,
53 SeqRenderState *state,
54 Strip *strip,
55 float timeline_frame);
56
57/* Renders Mask into an image suitable for sequencer:
58 * RGB channels contain mask intensity; alpha channel is opaque. */
60 int width,
61 int height,
62 const Mask *mask,
63 float frame_index,
64 bool make_float);
65void seq_imbuf_assign_spaces(const Scene *scene, ImBuf *ibuf);
66
67StripScreenQuad get_strip_screen_quad(const RenderData *context, const Strip *strip);
68
69} // namespace blender::seq
BPy_StructRNA * depsgraph
ccl_device_inline float2 mask(const MaskType mask, const float2 a)
static ulong state[N]
void seq_imbuf_to_sequencer_space(const Scene *scene, ImBuf *ibuf, bool make_float)
Definition render.cc:115
void seq_imbuf_assign_spaces(const Scene *scene, ImBuf *ibuf)
Definition render.cc:102
ImBuf * seq_render_give_ibuf_seqbase(const RenderData *context, SeqRenderState *state, float timeline_frame, int chan_shown, ListBase *channels, ListBase *seqbasep)
Definition render.cc:2089
StripScreenQuad get_strip_screen_quad(const RenderData *context, const Strip *strip)
Definition render.cc:280
Vector< Strip * > seq_shown_strips_get(const Scene *scene, ListBase *channels, ListBase *seqbase, const int timeline_frame, const int chanshown)
Definition render.cc:258
ImBuf * seq_render_mask(Depsgraph *depsgraph, int width, int height, const Mask *mask, float frame_index, bool make_float)
Definition render.cc:1297
ImBuf * seq_render_strip(const RenderData *context, SeqRenderState *state, Strip *strip, float timeline_frame)
Definition render.cc:1791
VecBase< float, 2 > float2
Set< Strip * > strips_rendering_seqbase
Definition render.hh:29