OGRE-Next  2.3
Object-Oriented Graphics Rendering Engine
Ogre::HlmsComputePso Struct Reference

#include <OgreHlmsPso.h>

Public Member Functions

void initialize ()
 Render-System specific data. More...

Public Attributes

GpuProgramParametersSharedPtr computeParams
GpuProgramPtr computeShader
uint32 mNumThreadGroups [3]
 The number of thread groups to dispatch. More...
uint32 mThreadsPerGroup [3]
 XYZ. More...
void * rsData

Member Function Documentation

◆ initialize()

void Ogre::HlmsComputePso::initialize ( )

Render-System specific data.

References mNumThreadGroups, mThreadsPerGroup, and rsData.

Member Data Documentation

◆ computeParams

GpuProgramParametersSharedPtr Ogre::HlmsComputePso::computeParams

◆ computeShader

GpuProgramPtr Ogre::HlmsComputePso::computeShader

◆ mNumThreadGroups

uint32 Ogre::HlmsComputePso::mNumThreadGroups[3]

The number of thread groups to dispatch.

eg. Typically: mNumThreadGroups[0] = ceil( mThreadsPerGroup[0] / image.width ); mNumThreadGroups[1] = ceil( mThreadsPerGroup[1] / image.height );

See also

Referenced by initialize().

◆ mThreadsPerGroup

uint32 Ogre::HlmsComputePso::mThreadsPerGroup[3]


Metal needs the threads per group on C++ side. HLSL & GLSL want the thread count on shader side, thus we allow users to tell us the thread count to C++, and send it to the shaders via @value( threads_per_group_x ); OR let the shader tell C++ the threadcount via @pset( threads_per_group_x, 64 ) (there's also threads_per_group_y & threads_per_group_z)

See also

Referenced by initialize().

◆ rsData

void* Ogre::HlmsComputePso::rsData

Referenced by initialize().

The documentation for this struct was generated from the following file: