90 virtual
void clear(
bool preserve_shaders = false);
250 static void update_attribute_element_offset(
Geometry *geom,
252 size_t &attr_float_offset,
254 size_t &attr_float2_offset,
256 size_t &attr_float3_offset,
258 size_t &attr_float4_offset,
260 size_t &attr_uchar4_offset,
_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 type
void device_update_displacement_images(Device *device, Scene *scene, Progress &progress)
void update_osl_attributes(Device *device, Scene *scene, vector< AttributeRequestSet > &geom_attributes)
void device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress &progress)
void geom_calc_offset(Scene *scene, BVHLayout bvh_layout)
void device_update_attributes(Device *device, DeviceScene *dscene, Scene *scene, Progress &progress)
void create_volume_mesh(const Scene *scene, Volume *volume, Progress &progress)
void device_free(Device *device, DeviceScene *dscene, bool force_free)
void device_update_object(Device *device, DeviceScene *dscene, Scene *scene, Progress &progress)
void tag_update(Scene *scene, uint32_t flag)
void device_update_bvh(Device *device, DeviceScene *dscene, Scene *scene, Progress &progress)
@ SHADER_DISPLACEMENT_MODIFIED
@ SHADER_ATTRIBUTE_MODIFIED
void collect_statistics(const Scene *scene, RenderStats *stats)
void device_update_preprocess(Device *device, Scene *scene, Progress &progress)
void device_update_volume_images(Device *device, Scene *scene, Progress &progress)
void update_svm_attributes(Device *device, DeviceScene *dscene, Scene *scene, vector< AttributeRequestSet > &geom_attributes, vector< AttributeRequestSet > &object_attributes)
bool displace(Device *device, Scene *scene, Mesh *mesh, Progress &progress)
void device_update_mesh(Device *device, DeviceScene *dscene, Scene *scene, Progress &progress)
Transform transform_normal
float motion_time(int step) const
virtual void compute_bounds()=0
bool need_update_bvh_for_offset
static const uint MAX_MOTION_STEPS
bool has_voxel_attributes() const
bool has_true_displacement() const
bool need_build_bvh(BVHLayout layout) const
bool is_pointcloud() const
int motion_step(float time) const
bool need_attribute(Scene *scene, AttributeStandard std)
bool is_instanced() const
virtual PrimitiveType primitive_type() const =0
AttributeRequestSet needed_attributes()
bool has_motion_blur() const
void tag_update(Scene *scene, bool rebuild)
virtual void get_uv_tiles(ustring map, unordered_set< int > &tiles)=0
bool transform_negative_scaled
void compute_bvh(Device *device, DeviceScene *dscene, SceneParams *params, Progress *progress, size_t n, size_t total)
virtual void apply_transform(const Transform &tfm, const bool apply_to_motion)=0
void tag_bvh_update(bool rebuild)
virtual void clear(bool preserve_shaders=false)
#define CCL_NAMESPACE_END
#define NODE_SOCKET_API_ARRAY(type_, name)
#define NODE_SOCKET_API(type_, name)
ccl_gpu_kernel_postfix ccl_global KernelWorkTile * tiles
SocketIndexByIdentifierMap * map
#define NODE_ABSTRACT_DECLARE
CCL_NAMESPACE_BEGIN typedef KernelBVHLayout BVHLayout