Skip to main content
Version: 🚧 Nightly

File vtkF3DBitonicSort.h

Location: vtkF3DBitonicSort.h

Classes

Includes

  • vtkextModule.h

Source


#ifndef vtkF3DBitonicSort_h
#define vtkF3DBitonicSort_h

#include <vtkNew.h>
#include <vtkObject.h>

#include "vtkextModule.h"

class vtkShader;
class vtkShaderProgram;
class vtkOpenGLBufferObject;
class vtkOpenGLRenderWindow;

class VTKEXT_EXPORT vtkF3DBitonicSort : public vtkObject
{
public:
static vtkF3DBitonicSort* New();
vtkTypeMacro(vtkF3DBitonicSort, vtkObject);

bool Initialize(int workgroupSize, int keyType, int valueType);

bool Run(vtkOpenGLRenderWindow* context, int nbPairs, vtkOpenGLBufferObject* keys,
vtkOpenGLBufferObject* values);

private:
vtkNew<vtkShader> BitonicSortLocalSortComputeShader;
vtkNew<vtkShaderProgram> BitonicSortLocalSortProgram;
vtkNew<vtkShader> BitonicSortLocalDisperseComputeShader;
vtkNew<vtkShaderProgram> BitonicSortLocalDisperseProgram;
vtkNew<vtkShader> BitonicSortGlobalFlipComputeShader;
vtkNew<vtkShaderProgram> BitonicSortGlobalFlipProgram;
vtkNew<vtkShader> BitonicSortGlobalDisperseComputeShader;
vtkNew<vtkShaderProgram> BitonicSortGlobalDisperseProgram;

int WorkgroupSize = -1;
};

#endif