Physics Simulation & Visualization Tool 0.1
A C++ physics simulation engine with real-time 3D visualization
Loading...
Searching...
No Matches
ComputeShader Class Reference

#include <ComputeShader.h>

Public Member Functions

 ComputeShader (const std::string &computePath, QOpenGLFunctions_4_5_Core *glFuncs)
 
 ~ComputeShader ()
 
void use () const
 
void setBool (const std::string &name, bool value) const
 
void setInt (const std::string &name, int value) const
 
void setFloat (const std::string &name, float value) const
 
void setMat4 (const std::string &name, const glm::mat4 &mat) const
 
void setVec3 (const std::string &name, const glm::vec3 &vec) const
 
unsigned int createSSBO (const void *data, unsigned int size, unsigned int bindingPoint)
 
template<typename T >
std::vector< T > readSSBO (unsigned int bufferID, size_t count) const
 
void dispatch (unsigned int groupsX, unsigned int groupsY=1, unsigned int groupsZ=1) const
 
unsigned int id () const
 

Detailed Description

Definition at line 7 of file ComputeShader.h.

Constructor & Destructor Documentation

◆ ComputeShader()

ComputeShader::ComputeShader ( const std::string &  computePath,
QOpenGLFunctions_4_5_Core *  glFuncs 
)

Definition at line 5 of file ComputeShader.cpp.

◆ ~ComputeShader()

ComputeShader::~ComputeShader ( )

Definition at line 18 of file ComputeShader.cpp.

Member Function Documentation

◆ createSSBO()

unsigned int ComputeShader::createSSBO ( const void *  data,
unsigned int  size,
unsigned int  bindingPoint 
)

Definition at line 57 of file ComputeShader.cpp.

◆ dispatch()

void ComputeShader::dispatch ( unsigned int  groupsX,
unsigned int  groupsY = 1,
unsigned int  groupsZ = 1 
) const

Definition at line 67 of file ComputeShader.cpp.

◆ id()

unsigned int ComputeShader::id ( ) const
inline

Definition at line 39 of file ComputeShader.h.

◆ readSSBO()

template<typename T >
std::vector< T > ComputeShader::readSSBO ( unsigned int  bufferID,
size_t  count 
) const
inline

Definition at line 22 of file ComputeShader.h.

◆ setBool()

void ComputeShader::setBool ( const std::string &  name,
bool  value 
) const

Definition at line 72 of file ComputeShader.cpp.

◆ setFloat()

void ComputeShader::setFloat ( const std::string &  name,
float  value 
) const

Definition at line 80 of file ComputeShader.cpp.

◆ setInt()

void ComputeShader::setInt ( const std::string &  name,
int  value 
) const

Definition at line 76 of file ComputeShader.cpp.

◆ setMat4()

void ComputeShader::setMat4 ( const std::string &  name,
const glm::mat4 &  mat 
) const

Definition at line 84 of file ComputeShader.cpp.

◆ setVec3()

void ComputeShader::setVec3 ( const std::string &  name,
const glm::vec3 &  vec 
) const

Definition at line 88 of file ComputeShader.cpp.

◆ use()

void ComputeShader::use ( ) const

Definition at line 25 of file ComputeShader.cpp.


The documentation for this class was generated from the following files: