Blender V5.0
Render Struct Reference

#include <render_types.h>

Inherits BaseRender.

Public Member Functions

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
Render
 Render ()
 ~Render () override
bool prepare_viewlayer (struct ViewLayer *view_layer, struct Depsgraph *depsgraph) override
Public Member Functions inherited from BaseRender
 BaseRender ()=default
virtual ~BaseRender ()

Public Attributes

const void * owner = nullptr
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
bool(* prepare_viewlayer_cb )(void *handle, struct ViewLayer *vl, struct Depsgraph *depsgraph) = nullptr
void * prepare_vl_handle = nullptr
RenderStats i = {}
struct ReportListreports = nullptr
blender::Vector< MovieWriter * > movie_writers
char viewname [MAX_NAME] = ""
Public Attributes inherited from BaseRender
RenderResultresult = nullptr
ThreadRWMutex resultmutex = BLI_RWLOCK_INITIALIZER
struct RenderEngineengine = nullptr
ThreadMutex engine_draw_mutex = BLI_MUTEX_INITIALIZER
std::shared_ptr< RenderDisplaydisplay
bool display_shared = false

Detailed Description

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

Definition at line 115 of file render_types.h.

Constructor & Destructor Documentation

◆ Render()

Render::Render ( )

Definition at line 45 of file render_types.cc.

References BaseRender::display.

◆ ~Render()

Render::~Render ( )
override

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 663 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 693 of file render/intern/compositor.cc.

References compositor, compositor_mutex, and lock.

Referenced by RE_compositor_free().

◆ 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 59 of file render_types.cc.

References depsgraph, prepare_viewlayer_cb, and prepare_vl_handle.

Referenced by engine_render_view_layer().

Member Data Documentation

◆ 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 182 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 183 of file render_types.h.

Referenced by compositor_execute(), and compositor_free().

◆ disprect

◆ flag

short Render::flag = 0

◆ fullresult

ListBase Render::fullresult = {nullptr, nullptr}

A list of #RenderResults, for full-samples.

Definition at line 145 of file render_types.h.

◆ i

◆ main

◆ movie_writers

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

Definition at line 199 of file render_types.h.

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

◆ ok

bool Render::ok = false

Definition at line 140 of file render_types.h.

Referenced by RE_InitState(), and render_init_from_main().

◆ owner

const void* Render::owner = nullptr

◆ pipeline_depsgraph

◆ pipeline_scene_eval

◆ prepare_viewlayer_cb

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

Definition at line 186 of file render_types.h.

Referenced by prepare_viewlayer(), and RE_prepare_viewlayer_cb().

◆ prepare_vl_handle

void* Render::prepare_vl_handle = nullptr

Definition at line 189 of file render_types.h.

Referenced by prepare_viewlayer(), and RE_prepare_viewlayer_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 197 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

◆ single_view_layer

char Render::single_view_layer[MAX_NAME] = ""

◆ tile_highlight

blender::render::TilesHighlight Render::tile_highlight

Definition at line 173 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 152 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: