Blender  V3.3
render_result.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2007 Blender Foundation. All rights reserved. */
3 
8 #pragma once
9 
10 #define PASS_VECTOR_MAX 10000.0f
11 
12 #define RR_ALL_LAYERS NULL
13 #define RR_ALL_VIEWS NULL
14 
17 struct ImBuf;
18 struct ListBase;
19 struct Render;
20 struct RenderData;
21 struct RenderEngine;
22 struct RenderLayer;
23 struct RenderResult;
24 struct Scene;
25 struct rcti;
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 /* New */
32 
39 struct RenderResult *render_result_new(struct Render *re,
40  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 
53 void render_result_view_new(struct RenderResult *rr, const char *viewname);
54 void render_result_views_new(struct RenderResult *rr, const struct RenderData *rd);
55 
56 /* Merge */
57 
63 void render_result_merge(struct RenderResult *rr, struct RenderResult *rrpart);
64 
65 /* Add Passes */
66 
67 void render_result_clone_passes(struct Render *re, struct RenderResult *rr, const char *viewname);
68 
69 /* Free */
70 
71 void render_result_free(struct RenderResult *rr);
75 void render_result_free_list(struct ListBase *lb, struct RenderResult *rr);
76 
77 /* Single Layer Render */
78 
83 void render_result_single_layer_end(struct Render *re);
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  const char *filepath);
102 
103 /* EXR cache */
104 
110 
111 /* Combined Pixel Rect */
112 
114  const struct RenderData *rd,
115  int view_id);
116 
117 void render_result_rect_fill_zero(struct RenderResult *rr, int view_id);
119  unsigned int *rect,
120  int rectx,
121  int recty,
122  const struct ColorManagedViewSettings *view_settings,
123  const struct ColorManagedDisplaySettings *display_settings,
124  int view_id);
125 
134 
135 #define FOREACH_VIEW_LAYER_TO_RENDER_BEGIN(re_, iter_) \
136  { \
137  int nr_; \
138  ViewLayer *iter_; \
139  for (nr_ = 0, iter_ = (re_)->view_layers.first; iter_ != NULL; iter_ = iter_->next, nr_++) { \
140  if (!G.background && (re_)->r.scemode & R_SINGLE_LAYER) { \
141  if (nr_ != re->active_view_layer) { \
142  continue; \
143  } \
144  } \
145  else { \
146  if ((iter_->flag & VIEW_LAYER_RENDER) == 0) { \
147  continue; \
148  } \
149  }
150 
151 #define FOREACH_VIEW_LAYER_TO_RENDER_END \
152  } \
153  } \
154  ((void)0)
155 
156 #ifdef __cplusplus
157 }
158 #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 Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input 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 a producing a negative Combine Generate a color from its and blue channels(Deprecated)") DefNode(ShaderNode
SyclQueue void void * src
int render_result_exr_file_read_path(struct RenderResult *rr, struct RenderLayer *rl_single, const char *filepath)
void render_result_free_list(struct ListBase *lb, struct RenderResult *rr)
void render_result_exr_file_cache_write(struct Render *re)
struct RenderResult * render_result_new(struct Render *re, struct rcti *partrct, const char *layername, const char *viewname)
void render_result_passes_allocated_ensure(struct RenderResult *rr)
struct ImBuf * render_result_rect_to_ibuf(struct RenderResult *rr, const struct RenderData *rd, int view_id)
struct RenderResult * render_result_new_from_exr(void *exrhandle, const char *colorspace, bool predivide, int rectx, int recty)
void render_result_free(struct RenderResult *rr)
Definition: render_result.c:70
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_views_shallowcopy(struct RenderResult *dst, struct RenderResult *src)
void render_result_views_new(struct RenderResult *rr, const struct RenderData *rd)
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_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)
unsigned int * rect
char chan_id[8]
Definition: RE_pipeline.h:66
char name[64]
Definition: RE_pipeline.h:65