Blender V4.3
render_result.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2007 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
11#define PASS_VECTOR_MAX 10000.0f
12
13#define RR_ALL_LAYERS NULL
14#define RR_ALL_VIEWS NULL
15
18struct ImBuf;
19struct ListBase;
20struct Render;
21struct RenderData;
22struct RenderLayer;
23struct RenderResult;
24struct ReportList;
25struct rcti;
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
31/* New */
32
40 const struct rcti *partrct,
41 const char *layername,
42 const char *viewname);
43
45
51 void *exrhandle, const char *colorspace, bool predivide, int rectx, int recty);
52
53void render_result_view_new(struct RenderResult *rr, const char *viewname);
54void render_result_views_new(struct RenderResult *rr, const struct RenderData *rd);
55
56/* Merge */
57
63void render_result_merge(struct RenderResult *rr, struct RenderResult *rrpart);
64
65/* Add Passes */
66
67void render_result_clone_passes(struct Render *re, struct RenderResult *rr, const char *viewname);
68
69/* Free */
70
71void render_result_free(struct RenderResult *rr);
75void render_result_free_list(struct ListBase *lb, struct RenderResult *rr);
76
77/* Single Layer Render */
78
84
89 struct RenderLayer *rl,
90 int channels,
91 const char *name,
92 const char *viewname,
93 const char *chan_id,
94 bool allocate);
95
100 struct RenderLayer *rl_single,
101 struct ReportList *reports,
102 const char *filepath);
103
104/* EXR cache */
105
111
112/* Combined Pixel Rect */
113
115 const struct RenderData *rd,
116 int view_id);
117
118void render_result_rect_fill_zero(struct RenderResult *rr, int view_id);
120 unsigned int *rect,
121 int rectx,
122 int recty,
123 const struct ColorManagedViewSettings *view_settings,
124 const struct ColorManagedDisplaySettings *display_settings,
125 int view_id);
126
130void render_result_views_shallowcopy(struct RenderResult *dst, struct RenderResult *src);
135
140
141#define FOREACH_VIEW_LAYER_TO_RENDER_BEGIN(re_, iter_) \
142 { \
143 int nr_; \
144 ViewLayer *iter_; \
145 for (nr_ = 0, iter_ = static_cast<ViewLayer *>((re_)->scene->view_layers.first); \
146 iter_ != NULL; \
147 iter_ = iter_->next, nr_++) \
148 { \
149 if (!G.background && (re_)->r.scemode & R_SINGLE_LAYER) { \
150 if (!STREQ(iter_->name, re->single_view_layer)) { \
151 continue; \
152 } \
153 } \
154 else { \
155 if ((iter_->flag & VIEW_LAYER_RENDER) == 0) { \
156 continue; \
157 } \
158 }
159
160#define FOREACH_VIEW_LAYER_TO_RENDER_END \
161 } \
162 } \
163 ((void)0)
164
165#ifdef __cplusplus
166}
167#endif
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Brightness Control the brightness and contrast of the input color Vector Map input vector components with curves Camera Retrieve information about the camera and how it relates to the current shading point s position Clamp a value between a minimum and a maximum Vector Perform vector math operation Invert Invert a producing a negative Combine Generate a color from its and blue channels(Deprecated)") DefNode(ShaderNode
bool render_result_exr_file_read_path(struct RenderResult *rr, struct RenderLayer *rl_single, struct ReportList *reports, const char *filepath)
void render_result_free_list(struct ListBase *lb, struct RenderResult *rr)
void render_result_exr_file_cache_write(struct Render *re)
void render_result_passes_allocated_ensure(struct RenderResult *rr)
struct RenderResult * render_result_new_from_exr(void *exrhandle, const char *colorspace, bool predivide, int rectx, int recty)
struct RenderResult * render_result_new(struct Render *re, const struct rcti *partrct, const char *layername, const char *viewname)
void render_result_free(struct RenderResult *rr)
void render_result_views_shallowcopy(struct RenderResult *dst, struct RenderResult *src)
void render_result_views_new(struct RenderResult *rr, const struct RenderData *rd)
struct RenderPass * render_layer_add_pass(struct RenderResult *rr, struct RenderLayer *rl, int channels, const char *name, const char *viewname, const char *chan_id, bool allocate)
void render_result_merge(struct RenderResult *rr, struct RenderResult *rrpart)
void render_result_rect_get_pixels(struct RenderResult *rr, unsigned int *rect, int rectx, int recty, const struct ColorManagedViewSettings *view_settings, const struct ColorManagedDisplaySettings *display_settings, int view_id)
void render_result_free_gpu_texture_caches(struct RenderResult *rr)
void render_result_views_shallowdelete(struct RenderResult *rr)
void render_result_rect_fill_zero(struct RenderResult *rr, int view_id)
void render_result_single_layer_end(struct Render *re)
void render_result_clone_passes(struct Render *re, struct RenderResult *rr, const char *viewname)
void render_result_single_layer_begin(struct Render *re)
void render_result_view_new(struct RenderResult *rr, const char *viewname)
bool render_result_exr_file_cache_read(struct Render *re)
struct ImBuf * render_result_rect_to_ibuf(struct RenderResult *rr, const struct RenderData *rd, int view_id)
char chan_id[8]
Definition RE_pipeline.h:59
char name[64]
Definition RE_pipeline.h:58