9 glm::vec3
mScale = {1.0f, 1.0f, 1.0f};
28 virtual void Create()
override;
29 virtual void Destroy()
override;
30 virtual void Render()
override;
31 virtual void Tick(
float deltaTime)
override;
32 virtual void EditorTick(
float deltaTime)
override;
46 uint32_t GetNumInstances()
const;
48 const std::vector<MeshInstanceData>& GetInstanceData()
const;
50 void SetInstanceData(
const std::vector<MeshInstanceData>& data);
52 void RemoveInstanceData(int32_t index);
54 uint32_t GetTotalVertexCount()
const;
56 bool IsInstanceDataDirty()
const;
57 void MarkInstanceDataDirty();
58 void UpdateInstanceData();
59 bool WasInstanceDataUpdatedThisFrame()
const;
61 bool ShouldUnroll()
const;
65 btTransform CalculateInstanceBulletTransform(int32_t instanceIndex);
66 glm::mat4 CalculateInstanceTransform(int32_t instanceIndex);
67 Bounds CalculateInstanceBounds(int32_t instanceIndex);
69 btCompoundShape* GeneratePaintCollisionShape();
70 btCompoundShape* GenerateTriangleCollisionShape();
75 void CalculateLocalBounds();
80 float mUnrolledCullDistance = 0.0f;
81 float mUnrolledCellSize = 25.0f;
82 bool mAlwaysUnroll =
false;
84 bool mInstanceDataDirty =
true;
85 bool mInstanceDataUpdatedThisFrame =
false;
86 bool mUnrolled =
false;
Platform
Definition EngineTypes.h:32
#define POLYPHASE_API
Definition PolyphaseAPI.h:31
Definition InstancedMesh3d.h:17
InstancedMeshCompResource mInstancedMeshResource
Definition InstancedMesh3d.h:90
DECLARE_NODE(InstancedMesh3D, StaticMesh3D)
AABB mAABB
Definition InstancedMesh3d.h:88
Bounds mBounds
Definition InstancedMesh3d.h:87
std::vector< MeshInstanceData > mInstanceData
Definition InstancedMesh3d.h:79
virtual bool IsInstancedMesh3D() const
Definition Mesh3d.cpp:139
virtual void EditorTick(float deltaTime)
Definition Node.cpp:578
virtual void Tick(float deltaTime) override
Definition Primitive3d.cpp:163
Definition StaticMesh3d.h:12
virtual AABB GetLocalAABB() const override
Definition StaticMesh3d.cpp:271
virtual void GatherProperties(std::vector< Property > &outProps) override
Definition StaticMesh3d.cpp:74
virtual void GatherProxyDraws(std::vector< DebugDraw > &inoutDraws) override
Definition StaticMesh3d.cpp:241
virtual void LoadStream(Stream &stream, Platform platform, uint32_t version) override
Definition StaticMesh3d.cpp:121
virtual void Render() override
Definition StaticMesh3d.cpp:218
virtual void SaveStream(Stream &stream, Platform platform) override
Definition StaticMesh3d.cpp:107
virtual void Create() override
Definition StaticMesh3d.cpp:88
virtual void Destroy() override
Definition StaticMesh3d.cpp:95
virtual void SetStaticMesh(StaticMesh *staticMesh)
Definition StaticMesh3d.cpp:157
virtual void RecreateCollisionShape()
Definition StaticMesh3d.cpp:312
virtual const char * GetTypeName() const override
Definition StaticMesh3d.cpp:69
virtual Bounds GetLocalBounds() const override
Definition StaticMesh3d.cpp:259
Definition StaticMesh.h:18
Definition EngineTypes.h:210
Definition EngineTypes.h:201
Definition GraphicsTypes.h:228
Definition InstancedMesh3d.h:6
glm::vec3 mScale
Definition InstancedMesh3d.h:9
glm::vec3 mPosition
Definition InstancedMesh3d.h:7
glm::vec3 mRotation
Definition InstancedMesh3d.h:8