Public Member Functions | Private Attributes | Static Private Attributes | List of all members
gte::Fluid3SolvePoisson Class Reference

#include <GteFluid3SolvePoisson.h>

Public Member Functions

void Execute (std::shared_ptr< GraphicsEngine > const &engine, std::shared_ptr< Texture3 > const &divergence)
 
 Fluid3SolvePoisson (std::shared_ptr< ProgramFactory > const &factory, int xSize, int ySize, int zSize, int numXThreads, int numYThreads, int numZThreads, std::shared_ptr< ConstantBuffer > const &parameters, int numIterations)
 
std::shared_ptr< gte::Texture3 > const & GetPoisson () const
 

Private Attributes

int mNumIterations
 
int mNumXGroups
 
int mNumYGroups
 
int mNumZGroups
 
std::shared_ptr< Texture3mPoisson0
 
std::shared_ptr< Texture3mPoisson1
 
std::shared_ptr< ComputeProgrammSolvePoisson
 
std::shared_ptr< ComputeProgrammWriteXFace
 
std::shared_ptr< ComputeProgrammWriteYFace
 
std::shared_ptr< ComputeProgrammWriteZFace
 
std::shared_ptr< ComputeProgrammZeroPoisson
 

Static Private Attributes

static std::string const * msEnforceSource [ProgramFactory::PF_NUM_API]
 
static std::string const msGLSLEnforceSource
 
static std::string const msGLSLSolveSource
 
static std::string const msGLSLZeroSource
 
static std::string const msHLSLEnforceSource
 
static std::string const msHLSLSolveSource
 
static std::string const msHLSLZeroSource
 
static std::string const * msSolveSource [ProgramFactory::PF_NUM_API]
 
static std::string const * msZeroSource [ProgramFactory::PF_NUM_API]
 

Detailed Description

Definition at line 20 of file GteFluid3SolvePoisson.h.

Constructor & Destructor Documentation

Fluid3SolvePoisson::Fluid3SolvePoisson ( std::shared_ptr< ProgramFactory > const &  factory,
int  xSize,
int  ySize,
int  zSize,
int  numXThreads,
int  numYThreads,
int  numZThreads,
std::shared_ptr< ConstantBuffer > const &  parameters,
int  numIterations 
)

Definition at line 14 of file GteFluid3SolvePoisson.cpp.

Member Function Documentation

void Fluid3SolvePoisson::Execute ( std::shared_ptr< GraphicsEngine > const &  engine,
std::shared_ptr< Texture3 > const &  divergence 
)

Definition at line 69 of file GteFluid3SolvePoisson.cpp.

std::shared_ptr< Texture3 > const & gte::Fluid3SolvePoisson::GetPoisson ( ) const
inline

Definition at line 59 of file GteFluid3SolvePoisson.h.

Member Data Documentation

int gte::Fluid3SolvePoisson::mNumIterations
private

Definition at line 45 of file GteFluid3SolvePoisson.h.

int gte::Fluid3SolvePoisson::mNumXGroups
private

Definition at line 37 of file GteFluid3SolvePoisson.h.

int gte::Fluid3SolvePoisson::mNumYGroups
private

Definition at line 37 of file GteFluid3SolvePoisson.h.

int gte::Fluid3SolvePoisson::mNumZGroups
private

Definition at line 37 of file GteFluid3SolvePoisson.h.

std::shared_ptr<Texture3> gte::Fluid3SolvePoisson::mPoisson0
private

Definition at line 43 of file GteFluid3SolvePoisson.h.

std::shared_ptr<Texture3> gte::Fluid3SolvePoisson::mPoisson1
private

Definition at line 44 of file GteFluid3SolvePoisson.h.

std::string const * Fluid3SolvePoisson::msEnforceSource
staticprivate
Initial value:

Definition at line 56 of file GteFluid3SolvePoisson.h.

std::string const Fluid3SolvePoisson::msGLSLEnforceSource
staticprivate

Definition at line 50 of file GteFluid3SolvePoisson.h.

std::string const Fluid3SolvePoisson::msGLSLSolveSource
staticprivate

Definition at line 49 of file GteFluid3SolvePoisson.h.

std::string const Fluid3SolvePoisson::msGLSLZeroSource
staticprivate
Initial value:
=
"layout(r32f) uniform writeonly image3D poisson;\n"
"\n"
"layout (local_size_x = NUM_X_THREADS, local_size_y = NUM_Y_THREADS, local_size_z = NUM_Z_THREADS) in;\n"
"void main()\n"
"{\n"
" ivec3 c = ivec3(gl_GlobalInvocationID.xyz);\n"
" imageStore(poisson, c, vec4(0.0f, 0.0f, 0.0f, 0.0f));\n"
"}\n"

Definition at line 48 of file GteFluid3SolvePoisson.h.

std::string const Fluid3SolvePoisson::msHLSLEnforceSource
staticprivate

Definition at line 53 of file GteFluid3SolvePoisson.h.

std::string const Fluid3SolvePoisson::msHLSLSolveSource
staticprivate

Definition at line 52 of file GteFluid3SolvePoisson.h.

std::string const Fluid3SolvePoisson::msHLSLZeroSource
staticprivate
Initial value:
=
"RWTexture3D<float> poisson;\n"
"\n"
"[numthreads(NUM_X_THREADS, NUM_Y_THREADS, NUM_Z_THREADS)]\n"
"void CSMain(uint3 c : SV_DispatchThreadID)\n"
"{\n"
" poisson[c.xyz] = 0.0f;\n"
"}\n"

Definition at line 51 of file GteFluid3SolvePoisson.h.

std::shared_ptr<ComputeProgram> gte::Fluid3SolvePoisson::mSolvePoisson
private

Definition at line 39 of file GteFluid3SolvePoisson.h.

std::string const * Fluid3SolvePoisson::msSolveSource
staticprivate
Initial value:

Definition at line 55 of file GteFluid3SolvePoisson.h.

std::string const * Fluid3SolvePoisson::msZeroSource
staticprivate
Initial value:

Definition at line 54 of file GteFluid3SolvePoisson.h.

std::shared_ptr<ComputeProgram> gte::Fluid3SolvePoisson::mWriteXFace
private

Definition at line 40 of file GteFluid3SolvePoisson.h.

std::shared_ptr<ComputeProgram> gte::Fluid3SolvePoisson::mWriteYFace
private

Definition at line 41 of file GteFluid3SolvePoisson.h.

std::shared_ptr<ComputeProgram> gte::Fluid3SolvePoisson::mWriteZFace
private

Definition at line 42 of file GteFluid3SolvePoisson.h.

std::shared_ptr<ComputeProgram> gte::Fluid3SolvePoisson::mZeroPoisson
private

Definition at line 38 of file GteFluid3SolvePoisson.h.


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


geometric_tools_engine
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 04:00:06