49 std::variant<std::monostate, gpu::Batch *, gpu::VertBuf *>
pos_buf;
57 if (std::holds_alternative<gpu::VertBuf *>(this->pos_buf)) {
58 return std::get<gpu::VertBuf *>(this->pos_buf);
60 if (std::holds_alternative<gpu::Batch *>(this->pos_buf)) {
61 gpu::VertBuf *buf = std::get<gpu::Batch *>(this->pos_buf)->verts_(1);
74 if (std::holds_alternative<gpu::VertBuf *>(this->pos_buf)) {
77 if (std::holds_alternative<gpu::Batch *>(this->pos_buf)) {
190 bool object_has_velocity(
const Object *ob);
191 bool object_is_deform(
const Object *ob);
unsigned long long int uint64_t
A running instance of the engine.
float step_time_delta_get(eVelocityStep start, eVelocityStep end) const
Map< ObjectKey, VelocityObjectData > velocity_map
void bind_resources(PassType &pass)
std::array< CameraDataBuf *, 3 > camera_steps
bool camera_changed_projection() const
std::array< VelocityObjectBuf *, 3 > object_steps
void geometry_steps_fill()
VelocityIndexBuf indirection_buf
bool camera_has_motion() const
std::array< VelocityGeometryBuf *, 3 > geometry_steps
bool step_object_sync(ObjectKey &object_key, const ObjectRef &object_ref, int recalc, ResourceHandleRange resource_handle, ModifierData *modifier_data=nullptr, ParticleSystem *particle_sys=nullptr)
VelocityModule(Instance &inst)
void step_sync(eVelocityStep step, float time)
Map< uint64_t, VelocityGeometryData > geometry_map
#define VELOCITY_INDIRECTION_BUF_SLOT
#define VELOCITY_CAMERA_NEXT_BUF
#define VELOCITY_CAMERA_PREV_BUF
#define VELOCITY_OBJ_PREV_BUF_SLOT
#define VELOCITY_GEO_PREV_BUF_SLOT
#define VELOCITY_GEO_NEXT_BUF_SLOT
#define VELOCITY_CAMERA_CURR_BUF
#define VELOCITY_OBJ_NEXT_BUF_SLOT
draw::StorageArrayBuffer< VelocityIndex, 16 > VelocityIndexBuf
draw::StorageArrayBuffer< float4, 16, true > VelocityGeometryBuf
draw::StorageArrayBuffer< float4x4, 16 > VelocityObjectBuf
draw::UniformBuffer< CameraData > CameraDataBuf
T step(const T &edge, const T &value)
VecBase< int32_t, 3 > int3
VecBase< float, 3 > float3
gpu::VertBuf * pos_buf_get() const
std::variant< std::monostate, gpu::Batch *, gpu::VertBuf * > pos_buf