35 scene->
update_stats->tables.times.add_entry({
"device_update", time});
60 return ((
size + chunk - 1) / chunk) * chunk;
74 list<Table>::iterator table;
77 if (new_table.
offset + new_table.
size <= table->offset) {
81 new_table.
offset = table->offset + table->size;
92 memcpy(dtable + new_table.
offset,
data.data(),
sizeof(
float) *
data.size());
106 list<Table>::iterator table;
109 if (table->offset == *offset) {
BMesh const char void * data
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
device_vector< float > lookup_table
void device_free(Device *device, DeviceScene *dscene)
size_t add_table(DeviceScene *dscene, vector< float > &data)
void remove_table(size_t *offset)
list< Table > lookup_tables
void device_update(Device *device, DeviceScene *dscene, Scene *scene)
T * resize(const size_t width, const size_t height=0)
#define CCL_NAMESPACE_END
#define assert(assertion)
unique_ptr< SceneUpdateStats > update_stats
static size_t round_up_to_multiple(const size_t size, const size_t chunk)