Blender
V3.3
|
#include "bvh/bvh.h"
#include "bvh/bvh2.h"
#include "device/device.h"
#include "scene/attribute.h"
#include "scene/camera.h"
#include "scene/geometry.h"
#include "scene/hair.h"
#include "scene/light.h"
#include "scene/mesh.h"
#include "scene/object.h"
#include "scene/pointcloud.h"
#include "scene/scene.h"
#include "scene/shader.h"
#include "scene/shader_nodes.h"
#include "scene/stats.h"
#include "scene/volume.h"
#include "subd/patch_table.h"
#include "subd/split.h"
#include "kernel/osl/globals.h"
#include "util/foreach.h"
#include "util/log.h"
#include "util/progress.h"
#include "util/task.h"
Go to the source code of this file.
Enumerations | |
enum | { DEVICE_CURVE_DATA_MODIFIED = (1 << 0) , DEVICE_MESH_DATA_MODIFIED = (1 << 1) , DEVICE_POINT_DATA_MODIFIED = (1 << 2) , ATTR_FLOAT_MODIFIED = (1 << 3) , ATTR_FLOAT2_MODIFIED = (1 << 4) , ATTR_FLOAT3_MODIFIED = (1 << 5) , ATTR_FLOAT4_MODIFIED = (1 << 6) , ATTR_UCHAR4_MODIFIED = (1 << 7) , CURVE_DATA_NEED_REALLOC = (1 << 8) , MESH_DATA_NEED_REALLOC = (1 << 9) , POINT_DATA_NEED_REALLOC = (1 << 10) , ATTR_FLOAT_NEEDS_REALLOC = (1 << 11) , ATTR_FLOAT2_NEEDS_REALLOC = (1 << 12) , ATTR_FLOAT3_NEEDS_REALLOC = (1 << 13) , ATTR_FLOAT4_NEEDS_REALLOC = (1 << 14) , ATTR_UCHAR4_NEEDS_REALLOC = (1 << 15) , ATTRS_NEED_REALLOC , DEVICE_MESH_DATA_NEEDS_REALLOC = (MESH_DATA_NEED_REALLOC | ATTRS_NEED_REALLOC) , DEVICE_POINT_DATA_NEEDS_REALLOC = (POINT_DATA_NEED_REALLOC | ATTRS_NEED_REALLOC) , DEVICE_CURVE_DATA_NEEDS_REALLOC = (CURVE_DATA_NEED_REALLOC | ATTRS_NEED_REALLOC) } |
Functions | |
CCL_NAMESPACE_BEGIN | NODE_ABSTRACT_DEFINE (Geometry) |
static void | emit_attribute_map_entry (AttributeMap *attr_map, int index, uint id, TypeDesc type, const AttributeDescriptor &desc) |
static void | emit_attribute_map_terminator (AttributeMap *attr_map, int index, bool chain, uint chain_link) |
static void | emit_attribute_mapping (AttributeMap *attr_map, int index, Scene *scene, AttributeRequest &req, Geometry *geom) |
static void | update_attribute_element_size (Geometry *geom, Attribute *mattr, AttributePrimitive prim, size_t *attr_float_size, size_t *attr_float2_size, size_t *attr_float3_size, size_t *attr_float4_size, size_t *attr_uchar4_size) |
static void | update_device_flags_attribute (uint32_t &device_update_flags, const AttributeSet &attributes) |
static void | update_attribute_realloc_flags (uint32_t &device_update_flags, const AttributeSet &attributes) |
anonymous enum |
Definition at line 1369 of file scene/geometry.cpp.
|
static |
Definition at line 408 of file scene/geometry.cpp.
References as_uint(), AttributeDescriptor::element, AttributeMap::element, AttributeDescriptor::flags, AttributeMap::flags, AttributeMap::id, id, NODE_ATTR_FLOAT, NODE_ATTR_FLOAT2, NODE_ATTR_FLOAT3, NODE_ATTR_FLOAT4, NODE_ATTR_MATRIX, NODE_ATTR_RGBA, AttributeDescriptor::offset, AttributeMap::offset, AttributeMap::type, type, TypeFloat2(), and TypeRGBA().
Referenced by emit_attribute_mapping().
|
static |
Definition at line 433 of file scene/geometry.cpp.
References ATTR_PRIM_TYPES, ATTR_STD_NONE, AttributeMap::element, AttributeMap::flags, AttributeMap::id, AttributeMap::offset, and AttributeMap::type.
Referenced by GeometryManager::update_svm_attributes().
|
static |
Definition at line 448 of file scene/geometry.cpp.
References ATTR_STD_NONE, AttributeRequest::desc, emit_attribute_map_entry(), ShaderManager::get_attribute_id(), Mesh::get_num_subd_faces(), id, Geometry::is_mesh(), mesh, AttributeRequest::name, scene, Scene::shader_manager, AttributeRequest::std, AttributeRequest::subd_desc, AttributeRequest::subd_type, and AttributeRequest::type.
Referenced by GeometryManager::update_svm_attributes().
CCL_NAMESPACE_BEGIN NODE_ABSTRACT_DEFINE | ( | Geometry | ) |
Definition at line 37 of file scene/geometry.cpp.
References NodeType::add(), NULL, SOCKET_BOOLEAN, SOCKET_NODE_ARRAY, SOCKET_UINT, and type.
|
static |
Definition at line 546 of file scene/geometry.cpp.
References ATTR_ELEMENT_CORNER_BYTE, ATTR_ELEMENT_VOXEL, Attribute::element, Attribute::element_size(), size(), Attribute::type, TypeFloat2(), and TypeRGBA().
Referenced by GeometryManager::device_update_attributes().
|
static |
Definition at line 1437 of file scene/geometry.cpp.
References ATTR_FLOAT2_NEEDS_REALLOC, ATTR_FLOAT3_NEEDS_REALLOC, ATTR_FLOAT4_NEEDS_REALLOC, ATTR_FLOAT_NEEDS_REALLOC, ATTR_UCHAR4_NEEDS_REALLOC, FLOAT, FLOAT2, FLOAT3, FLOAT4, AttributeSet::modified(), and UCHAR4.
|
static |
Definition at line 1399 of file scene/geometry.cpp.
References ATTR_FLOAT2_MODIFIED, ATTR_FLOAT3_MODIFIED, ATTR_FLOAT4_MODIFIED, ATTR_FLOAT_MODIFIED, ATTR_UCHAR4_MODIFIED, AttributeSet::attributes, FLOAT, FLOAT2, FLOAT3, FLOAT4, Attribute::kernel_type(), Attribute::modified, NUM, and UCHAR4.