PeriDyno 1.0.0
Loading...
Searching...
No Matches
VkScan.h
Go to the documentation of this file.
1#pragma once
2#include "VkDeviceArray.h"
3#include "VkProgram.h"
4#include "VkConstant.h"
5
6#define EXCLUSIVESCAN 0
7#define INCLUSIVESCAN 1
8
9using uint = unsigned int;
10namespace dyno {
14 //suport int float and uint32_t
16 int n;
18 };
19
20 template<typename T>
21 class VkScan{
22 public :
23 VkScan();
24 ~VkScan();
25
26 void scan(std::vector<T>& input, uint ScanType);
27
28 void scan(VkDeviceArray<T>& output, const VkDeviceArray<T>& input, uint ScanType);
29 private:
30 std::shared_ptr<VkProgram> mScan;
31
32 std::shared_ptr<VkProgram> mAdd;
33
34 std::shared_ptr<VkProgram> mSub;
35 };
36}
37#include "VkScan.inl"
unsigned int uint
Definition VkReduce.h:5
std::shared_ptr< VkProgram > mSub
Definition VkScan.h:34
std::shared_ptr< VkProgram > mAdd
Definition VkScan.h:32
std::shared_ptr< VkProgram > mScan
Definition VkScan.h:30
void scan(std::vector< T > &input, uint ScanType)
Definition VkScan.inl:10
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25
unsigned int uint
Definition VkProgram.h:14
implement functions for computing prefix sums
Definition VkScan.h:15