/* SPDX-FileCopyrightText: 2011-2022 Blender Foundation * * SPDX-License-Identifier: Apache-2.0 */ #pragma once #include "kernel/types.h" #include "util/types_image.h" #include "device/device.h" #include "device/memory.h" CCL_NAMESPACE_BEGIN class DeviceScene { public: /* BVH */ device_vector bvh_nodes; device_vector bvh_leaf_nodes; device_vector object_node; device_vector prim_type; device_vector prim_visibility; device_vector prim_index; device_vector prim_object; device_vector prim_time; /* mesh */ device_vector tri_shader; device_vector tri_vindex; device_vector tri_verts; device_vector curves; device_vector curve_keys; device_vector curve_segments; /* point-cloud */ device_vector points; device_vector points_shader; /* objects */ device_vector objects; device_vector object_motion_pass; device_vector object_motion; device_vector object_flag; device_vector object_prim_offset; /* cameras */ device_vector camera_motion; /* attributes */ device_vector attributes_map; device_vector attributes_float; device_vector attributes_float2; device_vector attributes_float3; device_vector attributes_float4; device_vector attributes_uchar4; device_vector attributes_normal; /* lights */ device_vector light_distribution; device_vector lights; device_vector light_background_marginal_cdf; device_vector light_background_conditional_cdf; /* light tree */ device_vector light_tree_nodes; device_vector light_tree_emitters; device_vector light_to_tree; device_vector object_lookup_offset; device_vector triangle_to_tree; /* particles */ device_vector particles; /* shaders */ device_vector svm_nodes; device_vector shaders; /* lookup tables */ device_vector lookup_table; /* integrator */ device_vector sample_pattern_lut; /* IES lights */ device_vector ies_lights; /* Volume. */ device_vector volume_tree_nodes; device_vector volume_tree_roots; device_vector volume_tree_root_ids; device_vector volume_step_size; /* Image textures */ device_vector image_textures; device_vector image_texture_tile_descriptors; device_vector image_texture_tile_access_state; device_vector image_texture_udims; KernelData data; DeviceScene(Device *device); }; CCL_NAMESPACE_END