Blender
V3.3
|
#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 () |
float * | read_pass (eViewLayerEEVEEPassType pass_type) |
float2 | pixel_jitter_get () const |
eViewLayerEEVEEPassType | enabled_passes_get () const |
Arbitrary Output Variables | |
float * | read_aov (ViewLayerAOV *aov) |
Definition at line 33 of file eevee_film.hh.
|
inline |
Definition at line 68 of file eevee_film.hh.
|
inline |
Definition at line 69 of file eevee_film.hh.
Accumulate the newly rendered sample contained in RenderBuffers and blit to display.
Definition at line 541 of file eevee_film.cc.
References DefaultTextureList::color, DefaultFramebufferList::default_fb, DRW_draw_pass(), DRW_view_set_active(), DRW_viewport_framebuffer_list_get(), DRW_viewport_texture_list_get(), GPU_framebuffer_bind(), GPU_framebuffer_viewport_set(), GPU_texture_height(), GPU_texture_width(), blender::eevee::Instance::is_viewport(), UNPACK2, and view.
Referenced by blender::eevee::ShadingView::render().
|
inline |
Definition at line 92 of file eevee_film.hh.
References data_.
Referenced by blender::eevee::WorldPipeline::sync().
void Film::display | ( | ) |
Blit to display. No rendered sample needed.
Definition at line 578 of file eevee_film.cc.
References blender::eevee::RenderBuffers::acquire(), BLI_assert, DefaultFramebufferList::default_fb, DRW_draw_pass(), DRW_view_set_active(), DRW_viewport_framebuffer_list_get(), GPU_framebuffer_bind(), GPU_framebuffer_viewport_set(), blender::eevee::Instance::is_viewport(), blender::eevee::RenderBuffers::release(), blender::eevee::Instance::render_buffers, and UNPACK2.
eViewLayerEEVEEPassType Film::enabled_passes_get | ( | ) | const |
Definition at line 459 of file eevee_film.cc.
Referenced by blender::eevee::RenderBuffers::acquire(), blender::eevee::VelocityModule::init(), and blender::eevee::Instance::render_frame().
void Film::end_sync | ( | ) |
Definition at line 423 of file eevee_film.cc.
References aovs_info, blender::eevee::Sampling::interactive_mode(), blender::eevee::Sampling::is_reset(), and blender::eevee::Instance::sampling.
Referenced by blender::eevee::Instance::end_sync().
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().
|
inline |
Definition at line 130 of file eevee_film.hh.
References data_, EEVEE_RENDER_PASS_AO, EEVEE_RENDER_PASS_COMBINED, EEVEE_RENDER_PASS_CRYPTOMATTE, 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_VECTOR, EEVEE_RENDER_PASS_VOLUME_LIGHT, and EEVEE_RENDER_PASS_Z.
Referenced by read_pass().
|
inlinestatic |
Definition at line 112 of file eevee_film.hh.
References EEVEE_RENDER_PASS_DIFFUSE_COLOR, EEVEE_RENDER_PASS_DIFFUSE_LIGHT, EEVEE_RENDER_PASS_EMIT, EEVEE_RENDER_PASS_ENVIRONMENT, EEVEE_RENDER_PASS_NORMAL, EEVEE_RENDER_PASS_SPECULAR_COLOR, EEVEE_RENDER_PASS_SPECULAR_LIGHT, and EEVEE_RENDER_PASS_VOLUME_LIGHT.
Referenced by read_pass().
|
inlinestatic |
Definition at line 99 of file eevee_film.hh.
References EEVEE_RENDER_PASS_AO, EEVEE_RENDER_PASS_MIST, EEVEE_RENDER_PASS_SHADOW, and EEVEE_RENDER_PASS_Z.
Referenced by init(), and read_pass().
|
inlinestatic |
Definition at line 168 of file eevee_film.hh.
References BLI_assert, BLI_assert_msg, EEVEE_RENDER_PASS_AO, EEVEE_RENDER_PASS_COMBINED, EEVEE_RENDER_PASS_CRYPTOMATTE, 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_VECTOR, EEVEE_RENDER_PASS_VOLUME_LIGHT, EEVEE_RENDER_PASS_Z, RE_PASSNAME_AO, RE_PASSNAME_COMBINED, RE_PASSNAME_DIFFUSE_COLOR, RE_PASSNAME_DIFFUSE_DIRECT, RE_PASSNAME_EMIT, RE_PASSNAME_ENVIRONMENT, RE_PASSNAME_GLOSSY_COLOR, RE_PASSNAME_GLOSSY_DIRECT, RE_PASSNAME_MIST, RE_PASSNAME_NORMAL, RE_PASSNAME_SHADOW, RE_PASSNAME_VECTOR, RE_PASSNAME_VOLUME_LIGHT, and RE_PASSNAME_Z.
Referenced by blender::eevee::Instance::render_frame().
float2 Film::pixel_jitter_get | ( | ) | const |
Definition at line 438 of file eevee_film.cc.
References blender::eevee::Instance::camera, blender::eevee::Camera::is_panoramic(), M_SQRT1_2, blender::eevee::Sampling::rng_2d_get(), blender::eevee::Sampling::sample_disk(), blender::eevee::Instance::sampling, and use_box_filter.
float * Film::read_aov | ( | ViewLayerAOV * | aov | ) |
Definition at line 84 of file eevee_film.cc.
References AOV_TYPE_VALUE, aovs_info, BLI_hash_string(), GPU_DATA_FLOAT, GPU_texture_read(), hash, ViewLayerAOV::name, Texture, and ViewLayerAOV::type.
float * Film::read_pass | ( | eViewLayerEEVEEPassType | pass_type | ) |
Definition at line 606 of file eevee_film.cc.
References EEVEE_RENDER_PASS_COMBINED, EEVEE_RENDER_PASS_Z, GPU_BARRIER_TEXTURE_UPDATE, GPU_DATA_FLOAT, GPU_memory_barrier(), GPU_texture_read(), pass_id_get(), pass_is_float3(), pass_is_value(), result, and Texture.
Referenced by blender::eevee::Instance::render_frame().
|
inline |
Definition at line 85 of file eevee_film.hh.
References data_.
Referenced by blender::eevee::ShadingView::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().
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().
|
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().