Blender  V2.93
render.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  *
16  * The Original Code is Copyright (C) 2004 Blender Foundation.
17  * All rights reserved.
18  */
19 
20 #pragma once
21 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 struct ImBuf;
31 struct ListBase;
32 struct Scene;
33 struct SeqEffectHandle;
34 struct SeqRenderData;
35 struct Sequence;
36 
37 #define EARLY_NO_INPUT -1
38 #define EARLY_DO_EFFECT 0
39 #define EARLY_USE_INPUT_1 1
40 #define EARLY_USE_INPUT_2 2
41 
42 /* mutable state for sequencer */
43 typedef struct SeqRenderState {
46 
48 
50  float timeline_frame,
51  int chan_shown,
52  struct ListBase *seqbasep);
54  const struct SeqRenderData *context,
55  struct Sequence *seq,
56  float timeline_frame,
57  float facf0,
58  float facf1,
59  struct ImBuf *ibuf1,
60  struct ImBuf *ibuf2,
61  struct ImBuf *ibuf3);
62 void seq_imbuf_to_sequencer_space(struct Scene *scene, struct ImBuf *ibuf, bool make_float);
63 int seq_get_shown_sequences(struct ListBase *seqbasep,
64  int timeline_frame,
65  int chanshown,
66  struct Sequence **seq_arr_out);
68  struct SeqRenderState *state,
69  struct Sequence *seq,
70  float timeline_frame);
72  struct Mask *mask,
73  float frame_index,
74  bool make_float);
75 void seq_imbuf_assign_spaces(struct Scene *scene, struct ImBuf *ibuf);
76 
77 #ifdef __cplusplus
78 }
79 #endif
Scene scene
static ulong state[N]
void seq_imbuf_assign_spaces(struct Scene *scene, struct ImBuf *ibuf)
Definition: render.c:95
void seq_imbuf_to_sequencer_space(struct Scene *scene, struct ImBuf *ibuf, bool make_float)
Definition: render.c:108
struct ImBuf * seq_render_effect_execute_threaded(struct SeqEffectHandle *sh, const struct SeqRenderData *context, struct Sequence *seq, float timeline_frame, float facf0, float facf1, struct ImBuf *ibuf1, struct ImBuf *ibuf2, struct ImBuf *ibuf3)
struct ImBuf * seq_render_strip(const struct SeqRenderData *context, struct SeqRenderState *state, struct Sequence *seq, float timeline_frame)
struct SeqRenderState SeqRenderState
void seq_render_state_init(SeqRenderState *state)
Definition: render.c:237
int seq_get_shown_sequences(struct ListBase *seqbasep, int timeline_frame, int chanshown, struct Sequence **seq_arr_out)
Definition: render.c:335
struct ImBuf * seq_render_give_ibuf_seqbase(const struct SeqRenderData *context, float timeline_frame, int chan_shown, struct ListBase *seqbasep)
struct ImBuf * seq_render_mask(const struct SeqRenderData *context, struct Mask *mask, float frame_index, bool make_float)
struct SELECTID_Context context
Definition: select_engine.c:47
struct LinkNode * scene_parents
Definition: render.h:44
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)