"L. Spiro Engine"
|
Manages the interface between shader objects and the Direct3D 11 API. More...
#include <LSGDirectX11ShaderManager.h>
Public Member Functions | |
LSVOID LSE_CALL | SetShader (CShader *_psShader) |
CShader *LSE_CALL | GetShader () |
LSVOID LSE_CALL | PrepareForRender () |
Protected Attributes | |
CShader * | m_psActiveShader |
CShader::LSG_LIGHT_FULLDATA | m_lfdLightData |
Manages the interface between shader objects and the Direct3D 11 API.
Class CDirectX11ShaderManager Description: Manages the interface between shader objects and the Direct3D 11 API. Its main function is to apply and unapply shaders, but it also applies engine-specific functionality to shaders as well, where they are not supported by HLSL. For example, automatic application of light and fog values, etc.
CShader* LSE_CALL lsg::CDirectX11ShaderManager::GetShader | ( | ) |
Get the currently set shader, or NULL if no shader is set.
LSVOID LSE_CALL lsg::CDirectX11ShaderManager::PrepareForRender | ( | ) |
Prepare the current shader for rendering.
LSVOID LSE_CALL lsg::CDirectX11ShaderManager::SetShader | ( | CShader * | _psShader | ) |
Apply a shader or switch back to fixed-function support (or, if not available, emulated fixed-function support via a system shader). Pass NULL to deactivate shaders. If the given shader has a 0 ID, it is the same as passing a NULL shader.
_psShader | The shader to activate or NULL to deactivate all shaders. |
Light data.
CShader* lsg::CDirectX11ShaderManager::m_psActiveShader [protected] |
Currently active shader.