|
Blender V4.3
|
#include <eevee_sync.hh>
Public Member Functions | |
| SyncModule (Instance &inst) | |
| ~SyncModule () | |
Recalc | |
| ObjectHandle & | sync_object (const ObjectRef &ob_ref) |
| WorldHandle | sync_world (const ::World &world) |
Mesh | |
| void | sync_mesh (Object *ob, ObjectHandle &ob_handle, ResourceHandle res_handle, const ObjectRef &ob_ref) |
| bool | sync_sculpt (Object *ob, ObjectHandle &ob_handle, ResourceHandle res_handle, const ObjectRef &ob_ref) |
Point Cloud | |
| void | sync_point_cloud (Object *ob, ObjectHandle &ob_handle, ResourceHandle res_handle, const ObjectRef &ob_ref) |
Volume Objects | |
| void | sync_volume (Object *ob, ObjectHandle &ob_handle, ResourceHandle res_handle, const ObjectRef &ob_ref) |
Hair | |
| void | sync_curves (Object *ob, ObjectHandle &ob_handle, ResourceHandle res_handle, const ObjectRef &ob_ref, ModifierData *modifier_data=nullptr, ParticleSystem *particle_sys=nullptr) |
Definition at line 152 of file eevee_sync.hh.
|
inline |
Definition at line 159 of file eevee_sync.hh.
|
inline |
Definition at line 160 of file eevee_sync.hh.
| void blender::eevee::SyncModule::sync_curves | ( | Object * | ob, |
| ObjectHandle & | ob_handle, | ||
| ResourceHandle | res_handle, | ||
| const ObjectRef & | ob_ref, | ||
| ModifierData * | modifier_data = nullptr, | ||
| ParticleSystem * | particle_sys = nullptr ) |
Definition at line 400 of file eevee_sync.cc.
References blender::eevee::Instance::cryptomatte, CURVES_MATERIAL_NR, blender::draw::curves_sub_pass_setup(), blender::draw::detail::PassBase< DrawCommandBufType >::draw(), blender::draw::Manager::extract_object_attributes(), GPU_material_get_material(), GPU_material_has_displacement_output(), blender::draw::hair_sub_pass_setup(), Material::inflate_bounds, blender::eevee::Instance::manager, blender::eevee::MAT_GEOM_CURVES, blender::eevee::MaterialModule::material_get(), blender::eevee::Instance::materials, blender::eevee::ObjectHandle::object_key, blender::eevee::VolumeModule::object_sync(), ParticleSettings::omat, ParticleSystem::part, blender::eevee::BaseHandle::recalc, blender::eevee::Instance::scene, blender::eevee::Instance::shadows, blender::eevee::VelocityModule::step_object_sync(), blender::draw::detail::PassBase< DrawCommandBufType >::sub(), blender::eevee::Cryptomatte::sync_material(), blender::eevee::Cryptomatte::sync_object(), blender::eevee::ShadowModule::sync_object(), blender::draw::Manager::update_handle_bounds(), blender::eevee::Instance::use_curves, blender::eevee::Instance::velocity, and blender::eevee::Instance::volume.
Referenced by blender::eevee::Instance::object_sync().
| void blender::eevee::SyncModule::sync_mesh | ( | Object * | ob, |
| ObjectHandle & | ob_handle, | ||
| ResourceHandle | res_handle, | ||
| const ObjectRef & | ob_ref ) |
Do not render objects with display type lower than solid when in material preview mode.
Definition at line 91 of file eevee_sync.cc.
References blender::eevee::Instance::cryptomatte, blender::Vector< T, InlineBufferCapacity, Allocator >::data(), DRW_cache_object_surface_material_get(), Object::dt, blender::draw::Manager::extract_object_attributes(), blender::eevee::geometry_call(), GPU_material_get_material(), GPU_material_has_displacement_output(), blender::eevee::MaterialArray::gpu_materials, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), Material::inflate_bounds, blender::eevee::Instance::is_viewport(), blender::eevee::Instance::manager, blender::eevee::MaterialModule::material_array_get(), blender::eevee::Instance::materials, blender::eevee::MaterialArray::materials, blender::math::max(), OB_RENDER, OB_SOLID, blender::eevee::ObjectHandle::object_key, blender::eevee::VolumeModule::object_sync(), blender::eevee::BaseHandle::recalc, blender::eevee::Instance::scene, View3D::shading, blender::eevee::Instance::shadows, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::eevee::VelocityModule::step_object_sync(), blender::eevee::Cryptomatte::sync_material(), blender::eevee::Cryptomatte::sync_object(), blender::eevee::ShadowModule::sync_object(), View3DShading::type, blender::draw::Manager::update_handle_bounds(), blender::eevee::Instance::use_surfaces, blender::eevee::Instance::v3d, blender::eevee::Instance::velocity, blender::eevee::Instance::volume, and blender::eevee::volume_call().
Referenced by blender::eevee::Instance::object_sync().
| ObjectHandle & blender::eevee::SyncModule::sync_object | ( | const ObjectRef & | ob_ref | ) |
Definition at line 37 of file eevee_sync.cc.
References blender::eevee::Instance::get_recalc_flags(), blender::draw::ObjectRef::object, and blender::eevee::ObjectHandle::object_key.
Referenced by blender::eevee::Instance::object_sync(), and blender::eevee::step_object_sync_render().
| void blender::eevee::SyncModule::sync_point_cloud | ( | Object * | ob, |
| ObjectHandle & | ob_handle, | ||
| ResourceHandle | res_handle, | ||
| const ObjectRef & | ob_ref ) |
Definition at line 267 of file eevee_sync.cc.
References blender::eevee::Instance::cryptomatte, blender::draw::detail::PassBase< DrawCommandBufType >::draw(), blender::draw::Manager::extract_object_attributes(), GPU_material_get_material(), GPU_material_has_displacement_output(), Material::inflate_bounds, blender::eevee::Instance::manager, blender::eevee::MAT_GEOM_POINT_CLOUD, blender::eevee::MaterialModule::material_get(), blender::eevee::Instance::materials, blender::eevee::ObjectHandle::object_key, blender::eevee::VolumeModule::object_sync(), blender::draw::point_cloud_sub_pass_setup(), POINTCLOUD_MATERIAL_NR, blender::eevee::BaseHandle::recalc, blender::eevee::Instance::shadows, blender::eevee::VelocityModule::step_object_sync(), blender::draw::detail::PassBase< DrawCommandBufType >::sub(), blender::eevee::Cryptomatte::sync_material(), blender::eevee::Cryptomatte::sync_object(), blender::eevee::ShadowModule::sync_object(), blender::draw::Manager::update_handle_bounds(), blender::eevee::Instance::velocity, and blender::eevee::Instance::volume.
Referenced by blender::eevee::Instance::object_sync().
| bool blender::eevee::SyncModule::sync_sculpt | ( | Object * | ob, |
| ObjectHandle & | ob_handle, | ||
| ResourceHandle | res_handle, | ||
| const ObjectRef & | ob_ref ) |
Definition at line 177 of file eevee_sync.cc.
References batch, BKE_sculptsession_use_pbvh_draw(), blender::bke::pbvh::bounds_get(), blender::eevee::Instance::cryptomatte, DRW_state_is_image_render(), blender::draw::Manager::extract_object_attributes(), blender::eevee::geometry_call(), GPU_material_get_material(), GPU_material_has_displacement_output(), blender::eevee::MaterialArray::gpu_materials, Material::inflate_bounds, blender::eevee::Instance::manager, blender::eevee::MaterialModule::material_array_get(), blender::eevee::Instance::materials, blender::eevee::MaterialArray::materials, blender::Bounds< T >::max, blender::math::max(), blender::math::midpoint(), blender::Bounds< T >::min, blender::draw::ObjectRef::object, blender::eevee::VolumeModule::object_sync(), blender::bke::object::pbvh_get(), blender::eevee::Instance::rv3d, blender::eevee::Instance::scene, blender::draw::sculpt_batches_per_material_get(), blender::eevee::Instance::shadows, blender::eevee::Cryptomatte::sync_material(), blender::eevee::Cryptomatte::sync_object(), blender::eevee::ShadowModule::sync_object(), blender::draw::Manager::update_handle_bounds(), blender::eevee::Instance::use_surfaces, blender::eevee::Instance::volume, and blender::eevee::volume_call().
Referenced by blender::eevee::Instance::object_sync().
| void blender::eevee::SyncModule::sync_volume | ( | Object * | ob, |
| ObjectHandle & | ob_handle, | ||
| ResourceHandle | res_handle, | ||
| const ObjectRef & | ob_ref ) |
Definition at line 337 of file eevee_sync.cc.
References BLI_listbase_is_empty(), blender::draw::detail::PassBase< DrawCommandBufType >::draw(), DRW_cache_cube_get(), blender::draw::Manager::extract_object_attributes(), GPU_material_attributes(), GPU_material_has_volume_output(), blender::eevee::MaterialPass::gpumat, blender::eevee::Instance::manager, blender::eevee::MAT_GEOM_VOLUME, blender::eevee::MaterialModule::material_get(), blender::eevee::Instance::materials, blender::eevee::VolumeModule::object_sync(), blender::eevee::Instance::scene, blender::eevee::MaterialPass::sub_pass, blender::eevee::Instance::use_volumes, blender::eevee::Instance::volume, VOLUME_MATERIAL_NR, and blender::draw::volume_sub_pass().
Referenced by blender::eevee::Instance::object_sync().
| WorldHandle blender::eevee::SyncModule::sync_world | ( | const ::World & | world | ) |
Definition at line 52 of file eevee_sync.cc.
References blender::eevee::Instance::get_recalc_flags(), and blender::eevee::BaseHandle::recalc.
Referenced by blender::eevee::World::sync().