Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/render/mesh.h
| Show First 20 Lines • Show All 81 Lines • ▼ Show 20 Lines | int geometry_flags; /* used to distinguish meshes with no verts | ||||
| and meshed for which geometry is not created */ | and meshed for which geometry is not created */ | ||||
| vector<float3> verts; | vector<float3> verts; | ||||
| vector<Triangle> triangles; | vector<Triangle> triangles; | ||||
| vector<uint> shader; | vector<uint> shader; | ||||
| vector<bool> smooth; | vector<bool> smooth; | ||||
| bool has_volume; /* Set in the device_update_flags(). */ | bool has_volume; /* Set in the device_update_flags(). */ | ||||
| bool has_surface_bssrdf; /* Set in the device_update_flags(). */ | |||||
| vector<float4> curve_keys; /* co + radius */ | vector<float4> curve_keys; /* co + radius */ | ||||
| vector<Curve> curves; | vector<Curve> curves; | ||||
| vector<uint> used_shaders; | vector<uint> used_shaders; | ||||
| AttributeSet attributes; | AttributeSet attributes; | ||||
| AttributeSet curve_attributes; | AttributeSet curve_attributes; | ||||
| Show All 40 Lines | public: | ||||
| void compute_bvh(SceneParams *params, Progress *progress, int n, int total); | void compute_bvh(SceneParams *params, Progress *progress, int n, int total); | ||||
| bool need_attribute(Scene *scene, AttributeStandard std); | bool need_attribute(Scene *scene, AttributeStandard std); | ||||
| bool need_attribute(Scene *scene, ustring name); | bool need_attribute(Scene *scene, ustring name); | ||||
| void tag_update(Scene *scene, bool rebuild); | void tag_update(Scene *scene, bool rebuild); | ||||
| bool has_motion_blur() const; | bool has_motion_blur() const; | ||||
| /* Check whether the mesh should have own BVH built separately. Briefly, | |||||
| * own BVH is needed for mesh, if: | |||||
| * | |||||
| * - It is instanced multiple times, so each instance object should share the | |||||
| * same BVH tree. | |||||
| * - Special ray intersection is needed, for example to limit subsurface rays | |||||
| * to only the mesh itself. | |||||
| */ | |||||
| bool need_build_bvh() const; | |||||
| /* Check if the mesh should be treated as instanced. */ | |||||
| bool is_instanced() const; | |||||
| }; | }; | ||||
| /* Mesh Manager */ | /* Mesh Manager */ | ||||
| class MeshManager { | class MeshManager { | ||||
| public: | public: | ||||
| BVH *bvh; | BVH *bvh; | ||||
| Show All 28 Lines | |||||