|  | 
|  | HlmsCompute (AutoParamDataSource *autoParamDataSource) | 
|  | 
|  | ~HlmsCompute () override | 
|  | 
| void | _changeRenderSystem (RenderSystem *newRs) override | 
|  | 
| void | clearShaderCache () override | 
|  | Destroys the shader cache from all jobs, causing us to reload shaders from file again. 
 | 
|  | 
| HlmsComputeJob * | createComputeJob (IdString datablockName, const String &refName, const String &sourceFilename, const StringVector &includedPieceFiles) | 
|  | An HlmsComputeJob is very similar to an HlmsDatablock, except it contains a compute job instead. 
 | 
|  | 
| HlmsDatablock * | createDefaultDatablock () override | 
|  | 
| void | destroyAllComputeJobs () | 
|  | Destroys all jobs created via. 
 | 
|  | 
| void | destroyComputeJob (IdString name) | 
|  | Destroys a specific Compute Job. 
 | 
|  | 
| void | dispatch (HlmsComputeJob *job, SceneManager *sceneManager, Camera *camera) | 
|  | Main function for dispatching a compute job. 
 | 
|  | 
| uint32 | fillBuffersFor (const HlmsCache *cache, const QueuedRenderable &queuedRenderable, bool casterPass, uint32 lastCacheHash, uint32 lastTextureHash) override | 
|  | Fills the constant buffers. 
 | 
|  | 
| uint32 | fillBuffersForV1 (const HlmsCache *cache, const QueuedRenderable &queuedRenderable, bool casterPass, uint32 lastCacheHash, CommandBuffer *commandBuffer) override | 
|  | 
| uint32 | fillBuffersForV2 (const HlmsCache *cache, const QueuedRenderable &queuedRenderable, bool casterPass, uint32 lastCacheHash, CommandBuffer *commandBuffer) override | 
|  | 
| HlmsComputeJob * | findComputeJob (IdString datablockName) const | 
|  | Finds an existing Compute Job. If none found, throws an exception. 
 | 
|  | 
| HlmsComputeJob * | findComputeJobNoThrow (IdString datablockName) const | 
|  | Finds an existing Compute Job. If none found, returns null. 
 | 
|  | 
| const String * | getJobNameStr (IdString name) const | 
|  | Returns the string name associated with its hashed name (this was passed as refName in createComputeJob()). 
 | 
|  | 
| void | reloadFrom (Archive *newDataFolder, ArchiveVec *libraryFolders=0) override | 
|  | Destroys all the cached shaders and in the next opportunity will recreate them from the new location. 
 | 
|  | 
|  | Hlms (HlmsTypes type, const String &typeName, Archive *dataFolder, ArchiveVec *libraryFolders) | 
|  | 
| virtual | ~Hlms () | 
|  | 
| void | _clearShaderCache () | 
|  | 
| virtual void | _collectSamplerblocks (set< const HlmsSamplerblock * >::type &outSamplerblocks, const HlmsDatablock *datablock) const | 
|  | 
| void | _compileShaderFromPreprocessedSource (const RenderableCache &mergedCache, const String source[NumShaderTypes]) | 
|  | 
| int32 | _getProperty (IdString key, int32 defaultVal=0) const | 
|  | 
| virtual void | _loadJson (const rapidjson::Value &jsonValue, const HlmsJson::NamedBlocks &blocks, HlmsDatablock *datablock, const String &resourceGroup, HlmsJsonListener *listener, const String &additionalTextureExtension) const | 
|  | Loads datablock values from a JSON value. 
 | 
|  | 
| void | _notifyManager (HlmsManager *manager) | 
|  | 
| virtual void | _saveJson (const HlmsDatablock *datablock, String &outString, HlmsJsonListener *listener, const String &additionalTextureExtension) const | 
|  | 
| void | _setProperty (IdString key, int32 value) | 
|  | For debugging stuff. I.e. the Command line uses it for testing manually set properties. 
 | 
|  | 
| void | _setTextureReg (ShaderType shaderType, const char *texName, int32 texUnit) | 
|  | 
| virtual void | analyzeBarriers (BarrierSolver &barrierSolver, ResourceTransitionArray &resourceTransitions, Camera *renderingCamera, const bool bCasterPass) | 
|  | 
| virtual void | calculateHashFor (Renderable *renderable, uint32 &outHash, uint32 &outCasterHash) | 
|  | Called by the renderable when either it changes the material, or its properties change (e.g. 
 | 
|  | 
| void | compileShaderCode (ShaderCodeCache &codeCache) | 
|  | Compiles input properties and adds it to the shader code cache. 
 | 
|  | 
| HlmsDatablock * | createDatablock (IdString name, const String &refName, const HlmsMacroblock ¯oblockRef, const HlmsBlendblock &blendblockRef, const HlmsParamVec ¶mVec, bool visibleToManager=true, const String &filename=BLANKSTRING, const String &resourceGroup=BLANKSTRING) | 
|  | Creates a unique datablock that can be shared by multiple renderables. 
 | 
|  | 
| void | destroyAllDatablocks () | 
|  | Destroys all datablocks created with createDatablock(). 
 | 
|  | 
| void | destroyDatablock (IdString name) | 
|  | Destroys a datablocks given its name. 
 | 
|  | 
| virtual void | frameEnded () | 
|  | Called when the frame has fully ended (ALL passes have been executed to all RTTs) 
 | 
|  | 
| uint16 | getAreaLightsApproxLimit () const | 
|  | 
| uint16 | getAreaLightsLtcLimit () const | 
|  | 
| HlmsDatablock * | getDatablock (IdString name) const | 
|  | Finds an existing datablock based on its name (. 
 | 
|  | 
| const HlmsDatablockMap & | getDatablockMap () const | 
|  | Returns all datablocks owned by this Hlms, including the default one. 
 | 
|  | 
| Archive * | getDataFolder () | 
|  | 
| HlmsDatablock * | getDefaultDatablock () const | 
|  | Datablock to use when another datablock failed or none was specified. 
 | 
|  | 
| bool | getFastShaderBuildHack () const | 
|  | Returns true if shaders are being compiled with Fast Shader Build Hack (D3D11 only) 
 | 
|  | 
| void | getFilenameAndResourceGroup (IdString name, String const **outFilename, String const **outResourceGroup) const | 
|  | Returns the filaname & resource group a datablock was created from, and is associated with its hashed name (this was passed as in createDatablock()). 
 | 
|  | 
| HlmsManager * | getHlmsManager () const | 
|  | 
| HlmsListener * | getListener () const | 
|  | Returns the current listener. 
 | 
|  | 
| const HlmsCache * | getMaterial (HlmsCache const *lastReturnedValue, const HlmsCache &passCache, const QueuedRenderable &queuedRenderable, bool casterPass) | 
|  | Retrieves an HlmsCache filled with the GPU programs to be used by the given renderable. 
 | 
|  | 
| uint16 | getMaxNonCasterDirectionalLights () const | 
|  | 
| const String * | getNameStr (IdString name) const | 
|  | Returns the string name associated with its hashed name (this was passed as refName in createDatablock()). 
 | 
|  | 
| const LibraryVec & | getPiecesLibrary () const | 
|  | 
| ArchiveVec | getPiecesLibraryAsArchiveVec () const | 
|  | 
| PrecisionMode | getPrecisionMode () const | 
|  | Returns requested precision mode (i.e. 
 | 
|  | 
| RenderSystem * | getRenderSystem () const | 
|  | 
| const ShaderCodeCacheVec & | getShaderCodeCache () const | 
|  | 
| const String & | getShaderProfile () const | 
|  | 
| IdString | getShaderSyntax () const | 
|  | 
| bool | getStaticBranchingLights () const | 
|  | 
| PrecisionMode | getSupportedPrecisionMode () const | 
|  | Some GPUs don't support all precision modes. 
 | 
|  | 
| void | getTemplateChecksum (uint64 outHash[2]) const | 
|  | 
| HlmsTypes | getType () const | 
|  | 
| IdString | getTypeName () const | 
|  | 
| const String & | getTypeNameStr () const | 
|  | 
| bool | parseOffline (const String &filename, String &inBuffer, String &outBuffer) | 
|  | For standalone parsing. 
 | 
|  | 
| virtual void | postCommandBufferExecution (CommandBuffer *commandBuffer) | 
|  | This gets called after executing the command buffer. 
 | 
|  | 
| virtual void | preCommandBufferExecution (CommandBuffer *commandBuffer) | 
|  | This gets called right before executing the command buffer. 
 | 
|  | 
| virtual HlmsCache | preparePassHash (const Ogre::CompositorShadowNode *shadowNode, bool casterPass, bool dualParaboloid, SceneManager *sceneManager) | 
|  | Called every frame by the Render Queue to cache the properties needed by this pass. 
 | 
|  | 
| void | saveAllTexturesFromDatablocks (const String &folderPath, set< String >::type &savedTextures, bool saveOitd, bool saveOriginal, HlmsTextureExportListener *listener) | 
|  | 
| void | setAreaLightForwardSettings (uint16 areaLightsApproxLimit, uint16 areaLightsLtcLimit) | 
|  | Area lights use regular Forward. 
 | 
|  | 
| void | setDebugOutputPath (bool enableDebugOutput, bool outputProperties, const String &path=BLANKSTRING) | 
|  | Call to output the automatically generated shaders (which are usually made from templates) on the given folder for inspection, analyzing, debugging, etc. 
 | 
|  | 
| void | setListener (HlmsListener *listener) | 
|  | Sets a listener to extend an existing Hlms implementation's with custom code, without having to rewrite it or modify the source code directly. 
 | 
|  | 
| void | setMaxNonCasterDirectionalLights (uint16 maxLights) | 
|  | Non-caster directional lights are hardcoded into shaders. 
 | 
|  | 
| void | setPrecisionMode (PrecisionMode precisionMode) | 
|  | Sets the precision mode of Hlms. 
 | 
|  | 
| virtual void | setStaticBranchingLights (bool staticBranchingLights) | 
|  | By default shadow-caster spot and point lights are hardcoded into shaders. 
 | 
|  | 
HLMS implementation that handles compute shaders. 
It isn't registered in the usual way to the HlmsManager.