Blender V4.3
Render Struct Reference

#include <render_types.h>

Inherits BaseRender.

Public Member Functions

 Render ()=default
 
virtual ~Render ()
 
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::realtime_compositor::RenderContext *render_context, blender::realtime_compositor::Profiler *profiler) 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::RealtimeCompositorcompositor = nullptr
 
std::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
 
void ** movie_ctx_arr = nullptr
 
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 135 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::realtime_compositor::RenderContext * render_context,
blender::realtime_compositor::Profiler * profiler )
overridevirtual

Implements BaseRender.

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

References compositor_mutex, lock, and node_tree.

◆ compositor_free()

void Render::compositor_free ( )
overridevirtual

Implements BaseRender.

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

References compositor, compositor_mutex, and lock.

◆ 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, 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

◆ 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

◆ clip_start

◆ compositor

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

Definition at line 216 of file render_types.h.

Referenced by compositor_free(), and re_gpu_texture_caches_free().

◆ compositor_mutex

std::mutex Render::compositor_mutex

Definition at line 217 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 223 of file render_types.h.

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

◆ dih

void* Render::dih = nullptr

Definition at line 221 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 222 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 220 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 235 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 234 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 178 of file render_types.h.

◆ i

◆ main

◆ movie_ctx_arr

void** Render::movie_ctx_arr = nullptr

Definition at line 250 of file render_types.h.

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

◆ name

char Render::name[RE_MAXNAME] = ""

Definition at line 169 of file render_types.h.

Referenced by RE_NewRender(), and renderresult_stampinfo().

◆ ok

bool Render::ok = false

Definition at line 173 of file render_types.h.

Referenced by RE_InitState(), and render_init_from_main().

◆ pipeline_depsgraph

struct Depsgraph* Render::pipeline_depsgraph = nullptr

◆ pipeline_scene_eval

Scene* Render::pipeline_scene_eval = nullptr

◆ prepare_viewlayer_cb

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

Definition at line 239 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 240 of file render_types.h.

Referenced by prepare_viewlayer(), and RE_prepare_viewlayer_cb().

◆ prh

void* Render::prh = nullptr

Definition at line 232 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 231 of file render_types.h.

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

◆ pushedresult

RenderResult* Render::pushedresult = nullptr

◆ 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 248 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(), 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

void* Render::suh = nullptr

◆ system_gpu_context

◆ tbh

void* Render::tbh = nullptr

◆ test_break_cb

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

◆ tile_highlight

blender::render::TilesHighlight Render::tile_highlight

Definition at line 206 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 185 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: