![]() |
VR-Forces 5.0.3 Developer's Guide
|
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.
Public Member Functions | |
| DtLightComputeProgram (DtDe &de) | |
| virtual | ~DtLightComputeProgram () |
| virtual void | slot_reloadShader (void) |
| virtual bool | failedCompilation (void) const |
| 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, const unsigned int sensorMask) |
Static Public Attributes | |
| static const int | theNumLightSourceComputeShaders = 2 |
Protected Member Functions | |
| virtual void | initializeShadersIfNecessary (void) |
| virtual void | deleteShaders (void) |
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 | |
| DtLightComputeProgram (const DtLightComputeProgram &)=delete | |
| DtLightComputeProgram & | operator= (const DtLightComputeProgram &)=delete |
| 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 |