Blender V5.0
blender::eevee::Film Class Reference

#include <eevee_film.hh>

Classes

struct  DepthState

Public Member Functions

 Film (Instance &inst, FilmData &data)
 ~Film ()
const FilmDataget_data ()
int2 render_extent_get () const
bool is_valid_render_extent () const
int2 film_extent_get () const
int2 film_offset_get () const
int2 display_extent_get () const
int render_overscan_get () const
int scaling_factor_get () const
float background_opacity_get () const
int pass_id_get (eViewLayerEEVEEPassType pass_type) const

Static Public Member Functions

static int overscan_pixels_get (float overscan, int2 extent)
static ePassStorageType pass_storage_type (eViewLayerEEVEEPassType pass_type)
static bool pass_is_float3 (eViewLayerEEVEEPassType pass_type)
static const Vector< std::string > pass_to_render_pass_names (eViewLayerEEVEEPassType pass_type, const ViewLayer *view_layer)

Public Attributes

StorageBuffer< AOVsInfoDataaovs_info
struct blender::eevee::Film::DepthState depth

Static Public Attributes

static constexpr bool use_box_filter = false

Film

void init (const int2 &full_extent, const rcti *output_rect)
void sync ()
void end_sync ()
void accumulate (View &view, gpu::Texture *combined_final_tx)
void cryptomatte_sort ()
void display ()
floatread_pass (eViewLayerEEVEEPassType pass_type, int layer_offset)
gpu::Textureget_pass_texture (eViewLayerEEVEEPassType pass_type, int layer_offset)
void write_viewport_compositor_passes ()
float2 pixel_jitter_get () const
eViewLayerEEVEEPassType enabled_passes_get () const
int cryptomatte_layer_len_get () const

Arbitrary Output Variables

floatread_aov (ViewLayerAOV *aov)
gpu::Textureget_aov_texture (ViewLayerAOV *aov)

Detailed Description

Definition at line 56 of file eevee_film.hh.

Constructor & Destructor Documentation

◆ Film()

blender::eevee::Film::Film ( Instance & inst,
FilmData & data )
inline

Definition at line 115 of file eevee_film.hh.

References data.

◆ ~Film()

blender::eevee::Film::~Film ( )
inline

Definition at line 116 of file eevee_film.hh.

Member Function Documentation

◆ accumulate()

void Film::accumulate ( View & view,
gpu::Texture * combined_final_tx )

◆ background_opacity_get()

float blender::eevee::Film::background_opacity_get ( ) const
inline

Definition at line 190 of file eevee_film.hh.

◆ cryptomatte_layer_len_get()

int Film::cryptomatte_layer_len_get ( ) const

Definition at line 704 of file eevee_film.cc.

References result.

Referenced by init(), and sync().

◆ cryptomatte_sort()

void Film::cryptomatte_sort ( )

Sort and normalize cryptomatte samples.

Definition at line 893 of file eevee_film.cc.

References DRW_manager_get(), and blender::draw::Manager::submit().

Referenced by write_viewport_compositor_passes().

◆ display()

◆ display_extent_get()

int2 blender::eevee::Film::display_extent_get ( ) const
inline

Size of the whole viewport or the render, disregarding the render region.

Definition at line 166 of file eevee_film.hh.

◆ enabled_passes_get()

eViewLayerEEVEEPassType Film::enabled_passes_get ( ) const

Definition at line 695 of file eevee_film.cc.

References EEVEE_RENDER_PASS_VECTOR.

◆ end_sync()

void Film::end_sync ( )

Definition at line 631 of file eevee_film.cc.

References aovs_info.

◆ film_extent_get()

int2 blender::eevee::Film::film_extent_get ( ) const
inline

Size and offset of the film (taking into account render region).

Definition at line 156 of file eevee_film.hh.

◆ film_offset_get()

int2 blender::eevee::Film::film_offset_get ( ) const
inline

Definition at line 160 of file eevee_film.hh.

◆ get_aov_texture()

◆ get_data()

const FilmData & blender::eevee::Film::get_data ( )
inline

Definition at line 123 of file eevee_film.hh.

◆ get_pass_texture()

◆ init()

void Film::init ( const int2 & full_extent,
const rcti * output_rect )

Definition at line 266 of file eevee_film.cc.

References RenderData::alphamode, View3DShading::aov_name, aovs_info, blender::assign_if_different(), BKE_render_preview_pixel_size(), BLI_rcti_init(), BLI_rcti_is_empty(), BLI_rcti_size_x(), BLI_rcti_size_y(), clamp_f(), cryptomatte_layer_len_get(), depth, blender::math::divide_ceil(), divide_ceil_u(), DRW_STATE_DEPTH_GREATER_EQUAL, EEVEE_RENDER_PASS_AO, EEVEE_RENDER_PASS_COMBINED, EEVEE_RENDER_PASS_CRYPTOMATTE_ASSET, EEVEE_RENDER_PASS_CRYPTOMATTE_MATERIAL, EEVEE_RENDER_PASS_CRYPTOMATTE_OBJECT, EEVEE_RENDER_PASS_DEPTH, EEVEE_RENDER_PASS_DIFFUSE_COLOR, EEVEE_RENDER_PASS_DIFFUSE_LIGHT, EEVEE_RENDER_PASS_EMIT, EEVEE_RENDER_PASS_ENVIRONMENT, EEVEE_RENDER_PASS_MIST, EEVEE_RENDER_PASS_NORMAL, EEVEE_RENDER_PASS_POSITION, EEVEE_RENDER_PASS_SHADOW, EEVEE_RENDER_PASS_SPECULAR_COLOR, EEVEE_RENDER_PASS_SPECULAR_LIGHT, EEVEE_RENDER_PASS_TRANSPARENT, EEVEE_RENDER_PASS_UNUSED_14, EEVEE_RENDER_PASS_UNUSED_8, EEVEE_RENDER_PASS_VECTOR, EEVEE_RENDER_PASS_VOLUME_LIGHT, blender::eevee::enabled_passes(), ColorManagedViewSettings::exposure, RenderData::gauss, blender::bke::compositor::get_used_passes(), blender::eevee::get_viewport_compositor_enabled_passes(), GPU_max_texture_size(), blender::math::max(), max_ii(), RenderData::mode, overscan_pixels_get(), blender::eevee::PASS_CATEGORY_COLOR_1, blender::eevee::PASS_CATEGORY_COLOR_2, blender::eevee::PASS_CATEGORY_COLOR_3, blender::eevee::PASS_CATEGORY_CRYPTOMATTE, blender::eevee::PASS_CATEGORY_DATA, blender::eevee::PASS_STORAGE_COLOR, blender::eevee::PASS_STORAGE_CRYPTOMATTE, pass_storage_type(), blender::eevee::PASS_STORAGE_VALUE, pow2f(), Scene::r, R_ALPHAPREMUL, R_MBLUR, View3DShading::render_pass, reset(), blender::eevee::Sampling::sample_count(), update(), Scene::view_settings, rcti::xmin, and rcti::ymin.

◆ is_valid_render_extent()

bool blender::eevee::Film::is_valid_render_extent ( ) const
inline

Definition at line 150 of file eevee_film.hh.

◆ overscan_pixels_get()

int blender::eevee::Film::overscan_pixels_get ( float overscan,
int2 extent )
inlinestatic

Returns number of overscan pixels for the given parameters.

Definition at line 178 of file eevee_film.hh.

References blender::math::ceil(), max_ff(), and blender::math::reduce_max().

Referenced by init(), and blender::eevee::Camera::sync().

◆ pass_id_get()

◆ pass_is_float3()

bool blender::eevee::Film::pass_is_float3 ( eViewLayerEEVEEPassType pass_type)
inlinestatic

◆ pass_storage_type()

◆ pass_to_render_pass_names()

◆ pixel_jitter_get()

◆ read_aov()

◆ read_pass()

◆ render_extent_get()

int2 blender::eevee::Film::render_extent_get ( ) const
inline

Returns shading views internal resolution. Includes overscan pixels.

Definition at line 146 of file eevee_film.hh.

◆ render_overscan_get()

int blender::eevee::Film::render_overscan_get ( ) const
inline

Number of padding pixels around the render target. Included inside render_extent_get.

Definition at line 172 of file eevee_film.hh.

◆ scaling_factor_get()

int blender::eevee::Film::scaling_factor_get ( ) const
inline

Definition at line 183 of file eevee_film.hh.

◆ sync()

◆ write_viewport_compositor_passes()

Member Data Documentation

◆ aovs_info

StorageBuffer<AOVsInfoData> blender::eevee::Film::aovs_info

Stores indirection table of AOVs based on their name hash and their type.

Definition at line 59 of file eevee_film.hh.

Referenced by end_sync(), get_aov_texture(), and init().

◆ depth

struct blender::eevee::Film::DepthState blender::eevee::Film::depth

Referenced by init().

◆ use_box_filter

bool blender::eevee::Film::use_box_filter = false
staticconstexpr

For debugging purpose but could be a user option in the future.

Definition at line 61 of file eevee_film.hh.

Referenced by pixel_jitter_get().


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