![]() |
VR-Forces 4.10 Class Documentation
|
Class that encapsulates the 2 pass (setup, sort) computation of lights affecting the screen space tiles. More...
Public Member Functions | |
| DtLightComputeProgram (DtDe &de) | |
| ctor More... | |
| virtual | ~DtLightComputeProgram () |
| dtor More... | |
| virtual void | slot_reloadShader (void) |
| slot to listen in on reload shaders signal More... | |
| virtual bool | failedCompilation (void) const |
| did the compilation fail? used to early out (and not call execute) More... | |
| virtual void | execute (const DtTileSpaceLightGrid *tileSpaceLightGrid, const int tileLightIndexTotalCount, const size_t lightCount, const int numChunks, const Matrix4_64 &projectionMatrix, const Vector3_64 &vWorldEye, const Vector3_64 &vWorldCenter, const Vector3_64 &vWorldUp, const Vector2_uint32 &viewportSize, const int viewOffset) |
| execute the 2 passes for sorting lights More... | |
Static Public Attributes | |
| static const int | theNumLightSourceComputeShaders = 2 |
Protected Member Functions | |
| virtual void | initializeShadersIfNecessary (void) |
| setup the light source binning compute shaders More... | |
| virtual void | deleteShaders (void) |
| delete the light source binning compute shaders More... | |
Protected Attributes | |
| std::array< DtGlProgram *, theNumLightSourceComputeShaders > | myComputePrograms |
| DtGlShader * | myLightingFunctionShader |
| std::array < DtLightSourceComputeShaderConstants *, theNumLightSourceComputeShaders > | myLightSourceComputeShaderConstants |
| std::array< DtGlBuffer *, theNumLightSourceComputeShaders > | myGpuShaderUbo |
| std::array< int, theNumLightSourceComputeShaders > | myGpuShaderUboBinding |
| bool | myShadersFailedToCompile |
| DtDe & | myDe |
| DtSignalConnectionManager | myConnections |
| std::atomic< bool > | myDeleteShaders |
| int | myWorkGroupLocalSizeX |
Static Protected Attributes | |
| static const std::array < std::string, theNumLightSourceComputeShaders > | theLightSourcesComputeShaderFilePaths |
Private Member Functions | |
| DtLightComputeProgram ()=delete | |
| not allowed More... | |
| DtLightComputeProgram (const DtLightComputeProgram &)=delete | |
| not allowed More... | |
| DtLightComputeProgram & | operator= (const DtLightComputeProgram &)=delete |
| not allowed More... | |
Class that encapsulates the 2 pass (setup, sort) computation of lights affecting the screen space tiles.
Holds the compute programs for each of the passes and invokes them in order when execute is called.
| makVrv::DtLightComputeProgram::DtLightComputeProgram | ( | DtDe & | de | ) |
ctor
|
virtual |
dtor
|
privatedelete |
not allowed
|
privatedelete |
not allowed
|
privatedelete |
not allowed
|
virtual |
slot to listen in on reload shaders signal
|
virtual |
did the compilation fail? used to early out (and not call execute)
|
virtual |
execute the 2 passes for sorting lights
|
protectedvirtual |
setup the light source binning compute shaders
|
protectedvirtual |
delete the light source binning compute shaders
|
static |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |