Physically based shading implementation specfically designed for OpenGL 3+, D3D11 and other RenderSystems which support uniform buffers.
More...
|
| | HlmsPbs (Archive *dataFolder, ArchiveVec *libraryFolders) |
| |
| virtual | ~HlmsPbs () |
| |
| virtual void | _changeRenderSystem (RenderSystem *newRs) |
| |
| void | _clearShaderCache (void) |
| |
| 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 | _notifyIblSpecMipmap (uint8 numMipmaps) |
| |
| 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) |
| |
| 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 (void) |
| | Destroys all datablocks created with @createDatablock.
|
| |
| void | destroyDatablock (IdString name) |
| | Destroys a datablocks given its name.
|
| |
| virtual uint32 | fillBuffersFor (const HlmsCache *cache, const QueuedRenderable &queuedRenderable, bool casterPass, uint32 lastCacheHash, uint32 lastTextureHash) |
| | Fills the constant buffers.
|
| |
| virtual uint32 | fillBuffersForV1 (const HlmsCache *cache, const QueuedRenderable &queuedRenderable, bool casterPass, uint32 lastCacheHash, CommandBuffer *commandBuffer) |
| |
| virtual uint32 | fillBuffersForV2 (const HlmsCache *cache, const QueuedRenderable &queuedRenderable, bool casterPass, uint32 lastCacheHash, CommandBuffer *commandBuffer) |
| |
| virtual void | frameEnded (void) |
| | Called when the frame has fully ended (ALL passes have been executed to all RTTs)
|
| |
| AmbientLightMode | getAmbientLightMode (void) const |
| |
| TextureGpu * | getAreaLightMasks (void) const |
| |
| uint16 | getAreaLightsApproxLimit (void) const |
| |
| uint16 | getAreaLightsLtcLimit (void) const |
| |
| HlmsDatablock * | getDatablock (IdString name) const |
| | Finds an existing datablock based on its name (.
|
| |
| const HlmsDatablockMap & | getDatablockMap (void) const |
| | Returns all datablocks owned by this Hlms, including the default one.
|
| |
| Archive * | getDataFolder (void) |
| |
| bool | getDebugPssmSplits (void) const |
| |
| HlmsDatablock * | getDefaultDatablock (void) const |
| | Datablock to use when another datablock failed or none was specified.
|
| |
| uint16 | getEsmK (void) const |
| |
| 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).
|
| |
| bool | getFineLightMaskGranularity (void) const |
| |
| bool | getHighQuality (void) const |
| |
| HlmsManager * | getHlmsManager (void) const |
| |
| IrradianceField * | getIrradianceField (void) |
| |
| IrradianceVolume * | getIrradianceVolume (void) const |
| |
| TextureGpu * | getLightProfilesTexture (void) const |
| |
| HlmsListener * | getListener (void) 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 (void) const |
| |
| const String * | getNameStr (IdString name) const |
| | Returns the string name associated with its hashed name (this was passed as refName in @createDatablock).
|
| |
| OptimizationStrategy | getOptimizationStrategy () const |
| |
| ParallaxCorrectedCubemapBase * | getParallaxCorrectedCubemap (void) const |
| |
| bool | getPerceptualRoughness (void) const |
| |
| const LibraryVec & | getPiecesLibrary (void) const |
| |
| ArchiveVec | getPiecesLibraryAsArchiveVec (void) const |
| |
| size_t | getPoolIndex (ConstBufferPoolUser *user) const |
| | Gets an ID corresponding to the pool this user was assigned to, unique per hash.
|
| |
| RenderSystem * | getRenderSystem (void) const |
| |
| const ShaderCodeCacheVec & | getShaderCodeCache (void) const |
| |
| const String & | getShaderProfile (void) const |
| |
| IdString | getShaderSyntax (void) const |
| |
| ShadowFilter | getShadowFilter (void) const |
| |
| bool | getShadowReceiversInPixelShader (void) const |
| |
| void | getTemplateChecksum (uint64 outHash[2]) const |
| |
| HlmsTypes | getType (void) const |
| |
| IdString | getTypeName (void) const |
| |
| const String & | getTypeNameStr (void) const |
| |
| bool | getUseLightBuffers () |
| |
| bool | getVctFullConeCount (void) const |
| |
| VctLighting * | getVctLighting (void) |
| |
| void | loadLtcMatrix (void) |
| |
| void | operator delete (void *ptr) |
| |
| void | operator delete (void *ptr, const char *, int, const char *) |
| |
| void | operator delete (void *ptr, void *) |
| |
| void | operator delete[] (void *ptr) |
| |
| void | operator delete[] (void *ptr, const char *, int, const char *) |
| |
| void * | operator new (size_t sz) |
| |
| void * | operator new (size_t sz, const char *file, int line, const char *func) |
| | operator new, with debug line info
|
| |
| void * | operator new (size_t sz, void *ptr) |
| | placement operator new
|
| |
| void * | operator new[] (size_t sz) |
| |
| void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| | array operator new, with debug line info
|
| |
| 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 | releaseSlot (ConstBufferPoolUser *user) |
| | Releases a slot requested with requestSlot.
|
| |
| virtual void | reloadFrom (Archive *newDataFolder, ArchiveVec *libraryFolders=0) |
| | Destroys all the cached shaders and in the next opportunity will recreate them from the new location.
|
| |
| void | requestSlot (uint32 hash, ConstBufferPoolUser *user, bool wantsExtraBuffer) |
| | Requests a slot and fills 'user'. Automatically schedules for update.
|
| |
| void | resetIblSpecMipmap (uint8 numMipmaps) |
| | By default we see the reflection textures' mipmaps and store the largest one we found.
|
| |
| void | saveAllTexturesFromDatablocks (const String &folderPath, set< String >::type &savedTextures, bool saveOitd, bool saveOriginal, HlmsTextureExportListener *listener) |
| |
| void | scheduleForUpdate (ConstBufferPoolUser *dirtyUser, uint8 dirtyFlags=DirtyConstBuffer) |
| |
| void | setAmbientLightMode (AmbientLightMode mode) |
| |
| void | setAreaLightForwardSettings (uint16 areaLightsApproxLimit, uint16 areaLightsLtcLimit) |
| | Area lights use regular Forward.
|
| |
| void | setAreaLightMasks (TextureGpu *areaLightMask) |
| |
| 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 | setDebugPssmSplits (bool bDebug) |
| |
| void | setEsmK (uint16 K) |
| | Sets the 'K' parameter of ESM filter.
|
| |
| void | setFineLightMaskGranularity (bool useFineGranularity) |
| | Toggles whether light masks will be obeyed per object by doing: if( movableObject->getLightMask() & light->getLightMask() ) doLighting( movableObject light ); Note this toggle only affects forward lights (i.e.
|
| |
| void | setHighQuality (bool highQuality) |
| | Sets the quality of the Hlms.
|
| |
| void | setIrradianceField (IrradianceField *irradianceField) |
| |
| void | setIrradianceVolume (IrradianceVolume *irradianceVolume) |
| |
| void | setLightProfilesTexture (TextureGpu *lightProfilesTex) |
| |
| 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.
|
| |
| virtual void | setOptimizationStrategy (OptimizationStrategy optimizationStrategy) |
| | Sets the optimization strategy.
|
| |
| void | setParallaxCorrectedCubemap (ParallaxCorrectedCubemapBase *pcc, float pccVctMinDistance=1.0f, float pccVctMaxDistance=2.0f) |
| | Sets PCC.
|
| |
| void | setPerceptualRoughness (bool bPerceptualRoughness) |
| | Toggle whether the roughness value (set via material parameters and via roughness textures) is perceptual or raw.
|
| |
| void | setShadowReceiversInPixelShader (bool bInPixelShader) |
| | Toggles whether light-space position is calculated in vertex or pixel shader.
|
| |
| void | setShadowSettings (ShadowFilter filter) |
| |
| void | setTextureBufferDefaultSize (size_t defaultSize) |
| | Changes the default suggested size for the texture buffer.
|
| |
| void | setUseLightBuffers (bool b) |
| |
| void | setVctFullConeCount (bool vctFullConeCount) |
| | When false, we will use 4 cones for diffuse VCT.
|
| |
| void | setVctLighting (VctLighting *vctLighting) |
| |
Physically based shading implementation specfically designed for OpenGL 3+, D3D11 and other RenderSystems which support uniform buffers.