Blender V4.5
Render Struct Reference

#include <render_types.h>

Inherits BaseRender.

Public Member Functions

 Render ()=default
 ~Render () override
blender::render::TilesHighlightget_tile_highlight () override
void compositor_execute (const Scene &scene, const RenderData &render_data, const bNodeTree &node_tree, const char *view_name, blender::compositor::RenderContext *render_context, blender::compositor::Profiler *profiler, blender::compositor::OutputTypes needed_outputs) override
void compositor_free () override
void display_init (RenderResult *render_result) override
void display_clear (RenderResult *render_result) override
void display_update (RenderResult *render_result, rcti *rect) override
void current_scene_update (struct Scene *scene) override
void stats_draw (RenderStats *render_stats) override
void progress (float progress) override
void draw_lock () override
void draw_unlock () override
bool test_break () override
bool prepare_viewlayer (struct ViewLayer *view_layer, struct Depsgraph *depsgraph) override
Public Member Functions inherited from BaseRender
 BaseRender ()=default
virtual ~BaseRender ()

Public Attributes

char name [RE_MAXNAME] = ""
short flag = 0
bool ok = false
RenderResultpushedresult = nullptr
ListBase fullresult = {nullptr, nullptr}
bool result_has_gpu_texture_caches = false
int winx = 0
int winy = 0
rcti disprect = {0, 0, 0, 0}
rctf viewplane = {0, 0, 0, 0}
int rectx = 0
int recty = 0
float winmat [4][4] = {{0}}
float clip_start = 0.0f
float clip_end = 0.0f
struct Mainmain = nullptr
Scenescene = nullptr
RenderData r = {}
char single_view_layer [MAX_NAME] = ""
struct Objectcamera_override = nullptr
blender::render::TilesHighlight tile_highlight
struct Depsgraph * pipeline_depsgraph = nullptr
Scenepipeline_scene_eval = nullptr
blender::render::Compositorcompositor = nullptr
blender::Mutex compositor_mutex
void(* display_init_cb )(void *handle, RenderResult *rr) = nullptr
void * dih = nullptr
void(* display_clear_cb )(void *handle, RenderResult *rr) = nullptr
void * dch = nullptr
void(* display_update_cb )(void *handle, RenderResult *rr, rcti *rect) = nullptr
void * duh = nullptr
void(* current_scene_update_cb )(void *handle, struct Scene *scene) = nullptr
void * suh = nullptr
void(* stats_draw_cb )(void *handle, RenderStats *ri) = nullptr
void * sdh = nullptr
void(* progress_cb )(void *handle, float i) = nullptr
void * prh = nullptr
void(* draw_lock_cb )(void *handle, bool lock) = nullptr
void * dlh = nullptr
bool(* test_break_cb )(void *handle) = nullptr
void * tbh = nullptr
bool(* prepare_viewlayer_cb )(void *handle, struct ViewLayer *vl, struct Depsgraph *depsgraph)
void * prepare_vl_handle
RenderStats i = {}
struct ReportListreports = nullptr
blender::Vector< MovieWriter * > movie_writers
char viewname [MAX_NAME] = ""
void * system_gpu_context = nullptr
void * blender_gpu_context = nullptr
Public Attributes inherited from BaseRender
RenderResultresult = nullptr
ThreadRWMutex resultmutex = BLI_RWLOCK_INITIALIZER
struct RenderEngineengine = nullptr
ThreadMutex engine_draw_mutex = BLI_MUTEX_INITIALIZER

Detailed Description

Controls state of render, everything that's read-only during render stage.

Definition at line 136 of file render_types.h.

Constructor & Destructor Documentation

◆ Render()

Render::Render ( )
default

◆ ~Render()

Member Function Documentation

◆ compositor_execute()

void Render::compositor_execute ( const Scene & scene,
const RenderData & render_data,
const bNodeTree & node_tree,
const char * view_name,
blender::compositor::RenderContext * render_context,
blender::compositor::Profiler * profiler,
blender::compositor::OutputTypes needed_outputs )
overridevirtual

Implements BaseRender.

Definition at line 675 of file render/intern/compositor.cc.

References compositor, compositor_mutex, lock, and scene.

Referenced by RE_compositor_execute().

◆ compositor_free()

void Render::compositor_free ( )
overridevirtual

Implements BaseRender.

Definition at line 705 of file render/intern/compositor.cc.

References compositor, compositor_mutex, and lock.

Referenced by RE_compositor_free().

◆ current_scene_update()

void Render::current_scene_update ( struct Scene * scene)
overridevirtual

Implements BaseRender.

Definition at line 63 of file render_types.cc.

References current_scene_update_cb, scene, and suh.

Referenced by do_render_compositor_scenes(), and do_render_engine().

◆ display_clear()

void Render::display_clear ( RenderResult * render_result)
overridevirtual

Implements BaseRender.

Definition at line 49 of file render_types.cc.

References dch, and display_clear_cb.

Referenced by render_init_from_main().

◆ display_init()

void Render::display_init ( RenderResult * render_result)
overridevirtual

Implements BaseRender.

Definition at line 42 of file render_types.cc.

References dih, and display_init_cb.

Referenced by render_init_from_main(), and render_result_uncrop().

◆ display_update()

void Render::display_update ( RenderResult * render_result,
rcti * rect )
overridevirtual

◆ draw_lock()

void Render::draw_lock ( )
overridevirtual

Implements BaseRender.

Definition at line 84 of file render_types.cc.

References dlh, and draw_lock_cb.

Referenced by engine_render_view_layer(), and RE_engine_render().

◆ draw_unlock()

void Render::draw_unlock ( )
overridevirtual

Implements BaseRender.

Definition at line 90 of file render_types.cc.

References dlh, and draw_lock_cb.

Referenced by engine_render_view_layer(), and RE_engine_render().

◆ get_tile_highlight()

blender::render::TilesHighlight * Render::get_tile_highlight ( )
inlineoverridevirtual

◆ prepare_viewlayer()

bool Render::prepare_viewlayer ( struct ViewLayer * view_layer,
struct Depsgraph * depsgraph )
overridevirtual

Executed right before the initialization of the depsgraph, in order to modify some stuff in the viewlayer. The modified ids must be tagged in the depsgraph.

If false is returned then rendering is aborted,

Implements BaseRender.

Definition at line 106 of file render_types.cc.

References depsgraph, prepare_viewlayer_cb, and prepare_vl_handle.

Referenced by engine_render_view_layer().

◆ progress()

void Render::progress ( float progress)
overridevirtual

Implements BaseRender.

Definition at line 77 of file render_types.cc.

References prh, progress(), and progress_cb.

Referenced by do_render_sequencer(), progress(), and RE_engine_update_progress().

◆ stats_draw()

void Render::stats_draw ( RenderStats * render_stats)
overridevirtual

◆ test_break()

bool Render::test_break ( )
overridevirtual

Member Data Documentation

◆ blender_gpu_context

void* Render::blender_gpu_context = nullptr

◆ camera_override

struct Object* Render::camera_override = nullptr

◆ clip_end

float Render::clip_end = 0.0f

◆ clip_start

float Render::clip_start = 0.0f

◆ compositor

blender::render::Compositor* Render::compositor = nullptr

Definition at line 217 of file render_types.h.

Referenced by compositor_execute(), compositor_free(), and re_gpu_texture_caches_free().

◆ compositor_mutex

blender::Mutex Render::compositor_mutex

Definition at line 218 of file render_types.h.

Referenced by compositor_execute(), and compositor_free().

◆ current_scene_update_cb

void(* Render::current_scene_update_cb) (void *handle, struct Scene *scene) = nullptr

◆ dch

void* Render::dch = nullptr

Definition at line 224 of file render_types.h.

Referenced by display_clear(), RE_display_clear_cb(), and RE_InitRenderCB().

◆ dih

void* Render::dih = nullptr

Definition at line 222 of file render_types.h.

Referenced by display_init(), RE_display_init_cb(), and RE_InitRenderCB().

◆ display_clear_cb

void(* Render::display_clear_cb) (void *handle, RenderResult *rr) = nullptr

Definition at line 223 of file render_types.h.

Referenced by display_clear(), RE_display_clear_cb(), and RE_InitRenderCB().

◆ display_init_cb

void(* Render::display_init_cb) (void *handle, RenderResult *rr) = nullptr

Definition at line 221 of file render_types.h.

Referenced by display_init(), RE_display_init_cb(), and RE_InitRenderCB().

◆ display_update_cb

void(* Render::display_update_cb) (void *handle, RenderResult *rr, rcti *rect) = nullptr

◆ disprect

◆ dlh

void* Render::dlh = nullptr

Definition at line 236 of file render_types.h.

Referenced by draw_lock(), draw_unlock(), RE_draw_lock_cb(), and RE_InitRenderCB().

◆ draw_lock_cb

void(* Render::draw_lock_cb) (void *handle, bool lock) = nullptr

Definition at line 235 of file render_types.h.

Referenced by draw_lock(), draw_unlock(), RE_draw_lock_cb(), and RE_InitRenderCB().

◆ duh

void* Render::duh = nullptr

◆ flag

short Render::flag = 0

◆ fullresult

ListBase Render::fullresult = {nullptr, nullptr}

A list of #RenderResults, for full-samples.

Definition at line 180 of file render_types.h.

◆ i

◆ main

◆ movie_writers

blender::Vector<MovieWriter *> Render::movie_writers

Definition at line 251 of file render_types.h.

Referenced by do_write_image_or_movie(), re_movie_free_all(), and RE_RenderAnim().

◆ name

◆ ok

bool Render::ok = false

Definition at line 175 of file render_types.h.

Referenced by RE_InitState(), and render_init_from_main().

◆ pipeline_depsgraph

◆ pipeline_scene_eval

◆ prepare_viewlayer_cb

bool(* Render::prepare_viewlayer_cb) (void *handle, struct ViewLayer *vl, struct Depsgraph *depsgraph)

Definition at line 240 of file render_types.h.

Referenced by prepare_viewlayer(), RE_InitRenderCB(), and RE_prepare_viewlayer_cb().

◆ prepare_vl_handle

void* Render::prepare_vl_handle

Definition at line 241 of file render_types.h.

Referenced by prepare_viewlayer(), and RE_prepare_viewlayer_cb().

◆ prh

void* Render::prh = nullptr

Definition at line 233 of file render_types.h.

Referenced by do_render_compositor(), progress(), RE_InitRenderCB(), and RE_progress_cb().

◆ progress_cb

void(* Render::progress_cb) (void *handle, float i) = nullptr

Definition at line 232 of file render_types.h.

Referenced by do_render_compositor(), progress(), RE_InitRenderCB(), and RE_progress_cb().

◆ pushedresult

◆ r

◆ rectx

◆ recty

◆ reports

struct ReportList* Render::reports = nullptr

Optional report list which may be null (borrowed memory). Callers to rendering functions are responsible for setting can clearing, see: RE_SetReports.

Definition at line 249 of file render_types.h.

Referenced by do_render_engine(), do_write_image_or_movie(), RE_bake_engine(), RE_engine_render(), RE_engine_report(), RE_InitState(), RE_RenderAnim(), RE_RenderFrame(), and RE_SetReports().

◆ result_has_gpu_texture_caches

bool Render::result_has_gpu_texture_caches = false

◆ scene

◆ sdh

void* Render::sdh = nullptr

◆ single_view_layer

char Render::single_view_layer[MAX_NAME] = ""

◆ stats_draw_cb

void(* Render::stats_draw_cb) (void *handle, RenderStats *ri) = nullptr

◆ suh

◆ system_gpu_context

◆ tbh

◆ test_break_cb

bool(* Render::test_break_cb) (void *handle) = nullptr

◆ tile_highlight

blender::render::TilesHighlight Render::tile_highlight

Definition at line 208 of file render_types.h.

Referenced by get_tile_highlight().

◆ viewname

◆ viewplane

rctf Render::viewplane = {0, 0, 0, 0}

◆ winmat

float Render::winmat[4][4] = {{0}}

◆ winx

int Render::winx = 0

Window size, display rect, viewplane.

Note
Buffer width and height with percentage applied without border & crop. convert to long before multiplying together to avoid overflow.

Definition at line 187 of file render_types.h.

Referenced by Freestyle::BlenderStrokeRenderer::BlenderStrokeRenderer(), do_render_compositor_scene(), do_render_sequencer(), get_videos_dimensions(), init_view(), RE_bake_engine(), RE_engine_render(), re_init_resolution(), RE_SetCamera(), render_result_disprect_to_full_resolution(), and render_result_new().

◆ winy


The documentation for this struct was generated from the following files: