#pragma once #include "application.hpp" class SoftBody; class Buffer; class Simulation : public Application { public: Simulation(); ~Simulation(); private: unique_ptr vertexBuffer; unique_ptr faceBuffer; unique_ptr edgeBuffer; unique_ptr triangleBuffer; unique_ptr tetrahedronBuffer; void createMeshBuffers(); unique_ptr sizeInformationBuffer; unique_ptr pbdPipeline; unique_ptr normalPipeline; void createComputePipelines(); vector> softBodies; void recordDrawCommands() override; void recordComputeCommands(VkCommandBuffer cmdBuffer) override; };