Blender  V2.93
SEQ_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 ListBase;
31 struct Main;
32 struct Scene;
33 struct Sequence;
34 
35 typedef enum eSeqTaskId {
39 
40 typedef struct SeqRenderData {
41  struct Main *bmain;
43  struct Scene *scene;
44  int rectx;
45  int recty;
51  bool skip_cache;
54  int view_id;
55  /* ID of task for assigning temp cache entries to particular task(thread, etc.) */
57 
58  /* special case for OpenGL render */
60  // int gpu_samples;
61  // bool gpu_full_samples;
63 
65  float timeline_frame,
66  int chanshown);
68  float timeline_frame,
69  struct Sequence *seq);
71 void SEQ_render_new_render_data(struct Main *bmain,
72  struct Depsgraph *depsgraph,
73  struct Scene *scene,
74  int rectx,
75  int recty,
76  int preview_render_size,
77  int for_render,
78  SeqRenderData *r_context);
79 int SEQ_render_evaluate_frame(struct ListBase *seqbase, int timeline_frame);
80 struct StripElem *SEQ_render_give_stripelem(struct Sequence *seq, int timeline_frame);
81 
82 void SEQ_render_imbuf_from_sequencer_space(struct Scene *scene, struct ImBuf *ibuf);
83 void SEQ_render_pixel_from_sequencer_space_v4(struct Scene *scene, float pixel[4]);
84 
85 #ifdef __cplusplus
86 }
87 #endif
struct Depsgraph Depsgraph
Definition: DEG_depsgraph.h:51
struct SeqRenderData SeqRenderData
eSeqTaskId
Definition: SEQ_render.h:35
@ SEQ_TASK_PREFETCH_RENDER
Definition: SEQ_render.h:37
@ SEQ_TASK_MAIN_RENDER
Definition: SEQ_render.h:36
struct ImBuf * SEQ_render_give_ibuf_direct(const SeqRenderData *context, float timeline_frame, struct Sequence *seq)
Definition: render.c:2027
void SEQ_render_new_render_data(struct Main *bmain, struct Depsgraph *depsgraph, struct Scene *scene, int rectx, int recty, int preview_render_size, int for_render, SeqRenderData *r_context)
Definition: render.c:211
void SEQ_render_init_colorspace(struct Sequence *seq)
void SEQ_render_imbuf_from_sequencer_space(struct Scene *scene, struct ImBuf *ibuf)
Definition: render.c:174
struct ImBuf * SEQ_render_give_ibuf(const SeqRenderData *context, float timeline_frame, int chanshown)
Definition: render.c:1964
struct StripElem * SEQ_render_give_stripelem(struct Sequence *seq, int timeline_frame)
Definition: render.c:242
int SEQ_render_evaluate_frame(struct ListBase *seqbase, int timeline_frame)
Definition: render.c:324
void SEQ_render_pixel_from_sequencer_space_v4(struct Scene *scene, float pixel[4])
Definition: render.c:191
Scene scene
const Depsgraph * depsgraph
struct SELECTID_Context context
Definition: select_engine.c:47
Definition: BKE_main.h:116
int preview_render_size
Definition: SEQ_render.h:46
struct Main * bmain
Definition: SEQ_render.h:41
bool is_proxy_render
Definition: SEQ_render.h:52
struct Scene * scene
Definition: SEQ_render.h:43
struct GPUOffScreen * gpu_offscreen
Definition: SEQ_render.h:59
bool skip_cache
Definition: SEQ_render.h:51
float motion_blur_shutter
Definition: SEQ_render.h:50
int motion_blur_samples
Definition: SEQ_render.h:49
bool use_proxies
Definition: SEQ_render.h:47
bool is_prefetch_render
Definition: SEQ_render.h:53
struct Depsgraph * depsgraph
Definition: SEQ_render.h:42
eSeqTaskId task_id
Definition: SEQ_render.h:56