9 #ifndef hifi_CauterizedMeshPartPayload_h
10 #define hifi_CauterizedMeshPartPayload_h
12 #include "MeshPartPayload.h"
14 class CauterizedMeshPartPayload :
public ModelMeshPartPayload {
16 CauterizedMeshPartPayload(ModelPointer model,
int meshIndex,
int partIndex,
int shapeIndex,
const Transform& transform,
const uint64_t& created);
19 void updateClusterBuffer(
const std::vector<glm::mat4>& clusterMatrices,
20 const std::vector<glm::mat4>& cauterizedClusterMatrices);
23 void updateClusterBuffer(
const std::vector<Model::TransformDualQuaternion>& clusterDualQuaternions,
24 const std::vector<Model::TransformDualQuaternion>& cauterizedClusterQuaternions);
26 void updateTransformForCauterizedMesh(
const Transform& modelTransform,
const Model::MeshState& meshState,
bool useDualQuaternionSkinning);
28 void bindTransform(gpu::Batch& batch,
const Transform& transform, RenderArgs::RenderMode renderMode)
const override;
30 void setEnableCauterization(
bool enableCauterization) { _enableCauterization = enableCauterization; }
33 gpu::BufferPointer _cauterizedClusterBuffer;
34 Transform _cauterizedTransform;
35 bool _enableCauterization {
false };