|
VisuTwin Canvas
C++ 3D Engine — Metal Backend
|
#include <scene/shader-lib/programLibrary.h>
Public Member Functions | |
| void | bindMaterial (const std::shared_ptr< GraphicsDevice > &device, const Material *material, bool transparentPass, bool dynamicBatch=false) |
| std::shared_ptr< Shader > | getForwardShader (const Material *material, bool transparentPass, bool dynamicBatch=false) |
| std::shared_ptr< Shader > | getShadowShader (bool dynamicBatch=false) |
| bool | hasProgram (const std::string &name) const |
| ProgramLibrary (const std::shared_ptr< GraphicsDevice > &device, StandardMaterial *standardMaterial) | |
| void | registerProgram (const std::string &name, const std::vector< std::string > &chunkOrder) |
| void | setAreaLightsEnabled (bool value) |
| void | setAtmosphereEnabled (bool value) |
| void | setClusteredLightingEnabled (bool value) |
| void | setLocalShadowsEnabled (bool value) |
| void | setOmniShadowsEnabled (bool value) |
| void | setPlanarReflectionDepthPass (bool value) |
| void | setSkyCubemapAvailable (bool value) |
| void | setSsaoEnabled (bool value) |
A class responsible for creation and caching of required shaders. There is a two level cache. The first level generates the shader based on the provided options. The second level processes this generated shader using processing options - in most cases modifies it to support uniform buffers.
Definition at line 25 of file programLibrary.h.
| visutwin::canvas::ProgramLibrary::ProgramLibrary | ( | const std::shared_ptr< GraphicsDevice > & | device, |
| StandardMaterial * | standardMaterial ) |
Definition at line 190 of file programLibrary.cpp.
References registerProgram().
| void visutwin::canvas::ProgramLibrary::bindMaterial | ( | const std::shared_ptr< GraphicsDevice > & | device, |
| const Material * | material, | ||
| bool | transparentPass, | ||
| bool | dynamicBatch = false ) |
Definition at line 667 of file programLibrary.cpp.
References visutwin::canvas::Material::blendState(), visutwin::canvas::Material::depthState(), getForwardShader(), and visutwin::canvas::Material::shaderOverride().
| std::shared_ptr< Shader > visutwin::canvas::ProgramLibrary::getForwardShader | ( | const Material * | material, |
| bool | transparentPass, | ||
| bool | dynamicBatch = false ) |
Definition at line 583 of file programLibrary.cpp.
References hasProgram().
Referenced by bindMaterial().
| std::shared_ptr< Shader > visutwin::canvas::ProgramLibrary::getShadowShader | ( | bool | dynamicBatch = false | ) |
Definition at line 640 of file programLibrary.cpp.
References hasProgram().
| bool visutwin::canvas::ProgramLibrary::hasProgram | ( | const std::string & | name | ) | const |
Definition at line 224 of file programLibrary.cpp.
Referenced by getForwardShader(), and getShadowShader().
| void visutwin::canvas::ProgramLibrary::registerProgram | ( | const std::string & | name, |
| const std::vector< std::string > & | chunkOrder ) |
Definition at line 215 of file programLibrary.cpp.
Referenced by ProgramLibrary().
|
inline |
Definition at line 63 of file programLibrary.h.
|
inline |
Definition at line 72 of file programLibrary.h.
|
inline |
Definition at line 59 of file programLibrary.h.
|
inline |
Definition at line 51 of file programLibrary.h.
|
inline |
Definition at line 55 of file programLibrary.h.
|
inline |
Definition at line 47 of file programLibrary.h.
|
inline |
Definition at line 42 of file programLibrary.h.
|
inline |
Definition at line 68 of file programLibrary.h.