17 #ifndef __BLENDER_SYNC_H__
18 #define __BLENDER_SYNC_H__
22 #include "RNA_blender_cpp.h"
58 BL::BlendData &b_data,
71 void sync_data(BL::RenderSettings &b_render,
73 BL::SpaceView3D &b_v3d,
77 void **python_thread_state);
82 bool adaptive_sampling,
89 const char *viewname);
93 return view_layer.samples;
97 return view_layer.bound_samples;
104 BL::Preferences &b_userpref,
110 BL::SpaceView3D &b_v3d,
115 const bool use_denoiser);
126 void sync_lights(
BL::Depsgraph &b_depsgraph,
bool update_all);
127 void sync_materials(
BL::Depsgraph &b_depsgraph,
bool update_all);
128 void sync_objects(
BL::Depsgraph &b_depsgraph, BL::SpaceView3D &b_v3d,
float motion_time = 0.0f);
129 void sync_motion(BL::RenderSettings &b_render,
131 BL::SpaceView3D &b_v3d,
135 void **python_thread_state);
136 void sync_film(BL::SpaceView3D &b_v3d);
141 void sync_world(
BL::Depsgraph &b_depsgraph, BL::SpaceView3D &b_v3d,
bool update_all);
142 void sync_shaders(
BL::Depsgraph &b_depsgraph, BL::SpaceView3D &b_v3d);
143 void sync_nodes(
Shader *
shader, BL::ShaderNodeTree &b_ntree);
148 BL::DepsgraphObjectInstance &b_instance,
150 bool use_particle_hair,
157 bool sync_object_attributes(BL::DepsgraphObjectInstance &b_instance,
Object *
object);
169 void sync_hair(
Hair *hair,
BL::Object &b_ob,
bool motion,
int motion_step = 0);
170 void sync_particle_hair(
172 bool object_has_particle_hair(
BL::Object b_ob);
175 void sync_camera_motion(
183 bool use_particle_hair,
190 bool use_particle_hair,
201 void sync_background_light(BL::SpaceView3D &b_v3d,
bool use_portal);
205 BL::DepsgraphObjectInstance &b_instance,
216 bool BKE_object_is_modified(
BL::Object &b_ob);
222 BL::BlendData b_data;
230 set<Geometry *> geometry_synced;
231 set<Geometry *> geometry_motion_synced;
232 set<float> motion_times;
242 int max_subdivisions;
244 struct RenderLayerInfo {
247 use_background_shader(true),
248 use_background_ao(true),
259 bool use_background_shader;
260 bool use_background_ao;
273 bool has_updates_ =
true;
struct Depsgraph Depsgraph
struct ViewLayer ViewLayer
struct RegionView3D RegionView3D
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei width
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei height
Read Guarded memory(de)allocation.
struct RenderEngine RenderEngine
struct RenderLayer RenderLayer
struct RenderPass RenderPass
@ OBJECT_PERSISTENT_ID_SIZE
static BufferParams get_buffer_params(BL::RenderSettings &b_render, BL::SpaceView3D &b_v3d, BL::RegionView3D &b_rv3d, Camera *cam, int width, int height, const bool use_denoiser)
static bool get_session_pause(BL::Scene &b_scene, bool background)
static SessionParams get_session_params(BL::RenderEngine &b_engine, BL::Preferences &b_userpref, BL::Scene &b_scene, bool background, BL::ViewLayer b_view_layer=BL::ViewLayer(PointerRNA_NULL))
void sync_recalc(BL::Depsgraph &b_depsgraph, BL::SpaceView3D &b_v3d)
BlenderSync(BL::RenderEngine &b_engine, BL::BlendData &b_data, BL::Scene &b_scene, Scene *scene, bool preview, Progress &progress)
static SceneParams get_scene_params(BL::Scene &b_scene, bool background)
void sync_camera(BL::RenderSettings &b_render, BL::Object &b_override, int width, int height, const char *viewname)
int get_layer_bound_samples()
vector< Pass > sync_render_passes(BL::Scene &b_scene, BL::RenderLayer &b_render_layer, BL::ViewLayer &b_view_layer, bool adaptive_sampling, const DenoiseParams &denoising)
void sync_view(BL::SpaceView3D &b_v3d, BL::RegionView3D &b_rv3d, int width, int height)
static int get_denoising_pass(BL::RenderPass &b_pass)
static PassType get_pass_type(BL::RenderPass &b_pass)
void sync_data(BL::RenderSettings &b_render, BL::Depsgraph &b_depsgraph, BL::SpaceView3D &b_v3d, BL::Object &b_override, int width, int height, void **python_thread_state)
void reset(BL::BlendData &b_data, BL::Scene &b_scene)
void sync_view_layer(BL::SpaceView3D &b_v3d, BL::ViewLayer &b_view_layer)
#define CCL_NAMESPACE_END
void KERNEL_FUNCTION_FULL_NAME() shader(KernelGlobals *kg, uint4 *input, float4 *output, int type, int filter, int i, int offset, int sample)
const PointerRNA PointerRNA_NULL