17 #ifndef __GEOMETRY_H__
18 #define __GEOMETRY_H__
121 virtual
void clear(
bool preserve_shaders = false);
266 bool for_displacement,
281 static void update_attribute_element_offset(
Geometry *geom,
283 size_t &attr_float_offset,
285 size_t &attr_float2_offset,
287 size_t &attr_float3_offset,
289 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
CCL_NAMESPACE_BEGIN typedef KernelBVHLayout BVHLayout
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 device_update_mesh(Device *device, DeviceScene *dscene, Scene *scene, bool for_displacement, Progress &progress)
void mesh_calc_offset(Scene *scene, BVHLayout bvh_layout)
bool displace(Device *device, DeviceScene *dscene, Scene *scene, Mesh *mesh, Progress &progress)
void device_update_attributes(Device *device, DeviceScene *dscene, Scene *scene, Progress &progress)
@ SHADER_DISPLACEMENT_MODIFIED
@ SHADER_ATTRIBUTE_MODIFIED
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 create_volume_mesh(Volume *volume, Progress &progress)
void device_update_bvh(Device *device, DeviceScene *dscene, Scene *scene, Progress &progress)
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)
Transform transform_normal
void compute_bvh(Device *device, DeviceScene *dscene, SceneParams *params, Progress *progress, int n, int total)
float motion_time(int step) const
virtual void compute_bounds()=0
virtual void pack_primitives(PackedBVH *pack, int object, uint visibility, PackFlags pack_flags)=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
int motion_step(float time) const
bool need_attribute(Scene *scene, AttributeStandard std)
bool is_instanced() const
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
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)
PackFlags operator|=(PackFlags &pack_flags, uint32_t value)
#define CCL_NAMESPACE_END
#define NODE_SOCKET_API_ARRAY(type_, name)
#define NODE_SOCKET_API(type_, name)
#define NODE_ABSTRACT_DECLARE