Blender  V3.3
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
blender::eevee::Film Class Reference

#include <eevee_film.hh>

Public Member Functions

 Film (Instance &inst)
 
 ~Film ()
 
int2 render_extent_get () const
 
float background_opacity_get () const
 
int pass_id_get (eViewLayerEEVEEPassType pass_type) const
 

Static Public Member Functions

static bool pass_is_value (eViewLayerEEVEEPassType pass_type)
 
static bool pass_is_float3 (eViewLayerEEVEEPassType pass_type)
 
static const char * pass_to_render_pass_name (eViewLayerEEVEEPassType pass_type)
 

Public Attributes

AOVsInfoDataBuf aovs_info
 

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 (const DRWView *view)
 
void display ()
 
floatread_pass (eViewLayerEEVEEPassType pass_type)
 
float2 pixel_jitter_get () const
 
eViewLayerEEVEEPassType enabled_passes_get () const
 

Arbitrary Output Variables

floatread_aov (ViewLayerAOV *aov)
 

Detailed Description

Definition at line 33 of file eevee_film.hh.

Constructor & Destructor Documentation

◆ Film()

blender::eevee::Film::Film ( Instance inst)
inline

Definition at line 68 of file eevee_film.hh.

◆ ~Film()

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

Definition at line 69 of file eevee_film.hh.

Member Function Documentation

◆ accumulate()

void Film::accumulate ( const DRWView view)

◆ background_opacity_get()

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

Definition at line 92 of file eevee_film.hh.

References data_.

Referenced by blender::eevee::WorldPipeline::sync().

◆ display()

void Film::display ( )

◆ enabled_passes_get()

eViewLayerEEVEEPassType Film::enabled_passes_get ( ) const

◆ end_sync()

void Film::end_sync ( )

◆ init()

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

Definition at line 165 of file eevee_film.cc.

References RenderData::alphamode, aovs_info, blender::assign_if_different(), BLI_rcti_init(), BLI_rcti_is_empty(), BLI_rcti_size_x(), BLI_rcti_size_y(), blender::eevee::Instance::camera, clamp_f(), data, blender::math::divide_ceil(), ViewLayer::eevee, Scene::eevee, EEVEE_RENDER_PASS_AO, EEVEE_RENDER_PASS_BLOOM, EEVEE_RENDER_PASS_COMBINED, 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_SHADOW, EEVEE_RENDER_PASS_SPECULAR_COLOR, EEVEE_RENDER_PASS_SPECULAR_LIGHT, EEVEE_RENDER_PASS_UNUSED_8, EEVEE_RENDER_PASS_VECTOR, EEVEE_RENDER_PASS_VOLUME_LIGHT, EEVEE_RENDER_PASS_Z, ENABLE_FROM_LEGACY, ColorManagedViewSettings::exposure, SceneEEVEE::flag, RenderData::gauss, blender::eevee::Instance::gpencil_engine_enabled, GPU_R16F, GPU_R32F, GPU_RGBA16F, blender::eevee::Camera::is_panoramic(), blender::eevee::Instance::is_viewport(), NORMAL, blender::eevee::Instance::overlays_enabled(), pass_is_value(), pow2f(), Scene::r, R_ALPHAPREMUL, View3DShading::render_pass, ViewLayerEEVEE::render_passes, reset, blender::eevee::Sampling::reset(), blender::eevee::Sampling::sample_count(), blender::eevee::Instance::sampling, SCE_EEVEE_TAA_REPROJECTION, scene, blender::eevee::Instance::scene, View3D::shading, View3DShading::studiolight_background, blender::eevee::Instance::v3d, blender::eevee::Instance::view_layer, Scene::view_settings, rcti::xmin, rcti::ymin, and Z.

Referenced by blender::eevee::Instance::init().

◆ pass_id_get()

int blender::eevee::Film::pass_id_get ( eViewLayerEEVEEPassType  pass_type) const
inline

◆ pass_is_float3()

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

◆ pass_is_value()

static bool blender::eevee::Film::pass_is_value ( eViewLayerEEVEEPassType  pass_type)
inlinestatic

◆ pass_to_render_pass_name()

static const char* blender::eevee::Film::pass_to_render_pass_name ( eViewLayerEEVEEPassType  pass_type)
inlinestatic

◆ pixel_jitter_get()

float2 Film::pixel_jitter_get ( ) const

◆ read_aov()

float * Film::read_aov ( ViewLayerAOV aov)

◆ read_pass()

float * Film::read_pass ( eViewLayerEEVEEPassType  pass_type)

◆ render_extent_get()

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

Definition at line 85 of file eevee_film.hh.

References data_.

Referenced by blender::eevee::ShadingView::sync().

◆ sync()

void Film::sync ( )

Definition at line 359 of file eevee_film.cc.

References blender::eevee::RenderBuffers::ambient_occlusion_tx, blender::eevee::RenderBuffers::aov_color_tx, blender::eevee::RenderBuffers::aov_value_tx, blender::eevee::VelocityModule::camera_steps, blender::eevee::RenderBuffers::combined_tx, blender::eevee::RenderBuffers::depth_tx, blender::eevee::RenderBuffers::diffuse_color_tx, blender::eevee::RenderBuffers::diffuse_light_tx, blender::math::divide_ceil(), DRW_pass_create(), DRW_shgroup_barrier(), DRW_shgroup_call_compute(), DRW_shgroup_call_procedural_triangles(), DRW_shgroup_create(), DRW_shgroup_uniform_block_ref, DRW_shgroup_uniform_image_ref(), DRW_shgroup_uniform_texture_ref(), DRW_shgroup_uniform_texture_ref_ex(), DRW_STATE_DEPTH_ALWAYS, DRW_STATE_WRITE_COLOR, DRW_STATE_WRITE_DEPTH, blender::eevee::RenderBuffers::emission_tx, blender::eevee::RenderBuffers::environment_tx, blender::eevee::FILM_COMP, blender::eevee::FILM_FRAG, FILM_GROUP_SIZE, filter(), GPU_BARRIER_SHADER_IMAGE_ACCESS, GPU_BARRIER_TEXTURE_FETCH, GPU_SAMPLER_FILTER, blender::eevee::Instance::is_viewport(), blender::eevee::RenderBuffers::normal_tx, blender::eevee::Instance::render_buffers, sh, blender::eevee::Instance::shaders, blender::eevee::RenderBuffers::shadow_tx, blender::eevee::RenderBuffers::specular_color_tx, blender::eevee::RenderBuffers::specular_light_tx, state, blender::eevee::ShaderModule::static_shader_get(), UNPACK2, blender::eevee::RenderBuffers::vector_tx, blender::eevee::Instance::velocity, and blender::eevee::RenderBuffers::volume_light_tx.

Referenced by blender::eevee::Instance::begin_sync().

Member Data Documentation

◆ aovs_info

AOVsInfoDataBuf blender::eevee::Film::aovs_info

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

Definition at line 36 of file eevee_film.hh.

Referenced by blender::eevee::RenderBuffers::acquire(), end_sync(), init(), blender::eevee::ForwardPipeline::material_opaque_add(), read_aov(), and blender::eevee::WorldPipeline::sync().

◆ use_box_filter

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

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

Definition at line 38 of file eevee_film.hh.

Referenced by pixel_jitter_get().


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