Blender V4.5
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_vector.hh"
13
14struct ImBuf;
15struct LinkNode;
16struct ListBase;
17struct Mask;
18struct Scene;
19struct RenderData;
20struct Strip;
21
22namespace blender::seq {
23
24/* Mutable state while rendering one sequencer frame. */
27};
28
29/* Strip corner coordinates in screen pixel space. Note that they might not be
30 * axis aligned when rotation is present. */
33
34 bool is_empty() const
35 {
36 return v0 == v1 && v2 == v3 && v0 == v2;
37 }
38};
39
41 float timeline_frame,
42 int chan_shown,
43 ListBase *channels,
44 ListBase *seqbasep);
45void seq_imbuf_to_sequencer_space(const Scene *scene, ImBuf *ibuf, bool make_float);
47 const Scene *scene, ListBase *channels, ListBase *seqbase, int timeline_frame, int chanshown);
48ImBuf *seq_render_strip(const RenderData *context,
49 SeqRenderState *state,
50 Strip *strip,
51 float timeline_frame);
52
53/* Renders Mask into an image suitable for sequencer:
54 * RGB channels contain mask intensity; alpha channel is opaque. */
55ImBuf *seq_render_mask(const RenderData *context, Mask *mask, float frame_index, bool make_float);
56void seq_imbuf_assign_spaces(const Scene *scene, ImBuf *ibuf);
57
58StripScreenQuad get_strip_screen_quad(const RenderData *context, const Strip *strip);
59
60} // namespace blender::seq
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:110
void seq_imbuf_assign_spaces(const Scene *scene, ImBuf *ibuf)
Definition render.cc:97
ImBuf * seq_render_give_ibuf_seqbase(const RenderData *context, float timeline_frame, int chan_shown, ListBase *channels, ListBase *seqbasep)
Definition render.cc:2071
StripScreenQuad get_strip_screen_quad(const RenderData *context, const Strip *strip)
Definition render.cc:275
ImBuf * seq_render_mask(const RenderData *context, Mask *mask, float frame_index, bool make_float)
Definition render.cc:1260
Vector< Strip * > seq_shown_strips_get(const Scene *scene, ListBase *channels, ListBase *seqbase, const int timeline_frame, const int chanshown)
Definition render.cc:253
ImBuf * seq_render_strip(const RenderData *context, SeqRenderState *state, Strip *strip, float timeline_frame)
Definition render.cc:1748
VecBase< float, 2 > float2