21        auto uGrid = std::dynamic_pointer_cast<UniformGrid3D>(this->inTopology()->getDataPtr());
 
   29        for (
int k = 0; k < uGrid->nz(); k++)
 
   31            for (
int j = 0; j < uGrid->ny(); j++)
 
   33                for (
int i = 0; i < uGrid->nx(); i++)
 
   53            std::make_shared<VkProgram>(
 
   59        kernel(
"SetupBox")->load(getAssetPath() + 
"shaders/glsl/phasefield/SetupBox.comp.spv");
 
 
   66        auto uGrid = std::dynamic_pointer_cast<UniformGrid3D>(this->inTopology()->getDataPtr());
 
   71        gridInfo.
setValue(uGrid->getGridInfo());
 
   72        gridSize.
setValue(uGrid->totalGridSize());
 
   73        kernel(
"SetupBox")->flush(
 
 
   90        std::vector<Vertex> vertices;
 
   91        vertices.resize(vertSize);
 
   93        std::vector<uint32_t> indices;
 
   94        indices.resize(indexSize);
 
   97        mCubeVertex.resize(vertSize, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT);
 
   99        mCubeIndex.resize(indexSize, VK_BUFFER_USAGE_INDEX_BUFFER_BIT);
 
 
static const float CUBE_VERTICES[]
position xyz, unused w, normal, uv
 
static const int CUBE_INDICES[]
 
void setValue(const T val)
 
VkDeviceArray< Vertex > mCubeVertex
 
VkDeviceArray< px::Box > mCubeInstanceData
 
VkDeviceArray< uint32_t > mCubeIndex
 
This is an implementation of AdditiveCCD based on peridyno.
 
std::vector< px::Box > hBox
 
bool vkTransfer(VkHostArray< T > &dst, const VkDeviceArray< T > &src)
 
static dim3 vkDispatchSize3D(uint size_x, uint size_y, uint size_z, uint blockSize)