#include <Shaders.h>
Inheritance diagram for NSShaders::TPixelShaderManager:
Public Member Functions | |
TPixelShader * | GetPixelShader (const TString &filename) |
Returns specified shader from given file or NULL if an error occured. | |
void | DestroyUnreferencedShaders (void) |
This method destroys all unreferenced shaders in manager. | |
DWORD | GetShaderCount (void) const |
Return number of shaders in manager. | |
DWORD | GetUnreferencedShaderCount (void) const |
This method returns number of unreferenced shaders in manager. | |
const TString & | GetEntryFunctionName (void) const |
Returns name of entry function of shaders in HLSL loaded via this manager. | |
EnumShaderFileType | GetFileType (void) const |
Returns type of shader files to load with this manager. | |
Static Public Member Functions | |
static TPixelShaderManager * | CreatePixelShaderManager (TRenderer *renderer) |
This method creates pixel shader manager. | |
static void | DestroyPixelShaderManager (TPixelShaderManager *manager) |
Destroy specified pixel shader manager. |
There are three types of shaders - COMPILED (prefered), ASSEMBLER and shaders in higher languages as HLSL. Type of used shaders is loaded from global configuration (thus must be available).
Compiled shaders are better option, because they contain information about shader version. HLSL shaders do not contain this information thus manager must try compile shader with different version of shaders until proper version is founded.
If number of references to shader reaches to zero shader still exists in manager. You can destroy unreferenced shaders via TPixelShaderManager::DestroyUnreferencedShaders.
You can get number of unreferenced shaders via TPixelShaderManager::GetUnreferencedShaderCount method.
Definition at line 221 of file Shaders.h.
|
This method creates pixel shader manager.
Definition at line 596 of file Shaders.cpp. References TGlobalsSystem::GetLogFile(), and NSMath::NSStdMath::log(). Here is the call graph for this function: ![]() |
|
Destroy specified pixel shader manager. After calling this method is manager invalid and should be set to NULL!!!
Definition at line 614 of file Shaders.cpp. References TGlobalsSystem::GetLogFile(), and NSMath::NSStdMath::log(). Here is the call graph for this function: ![]() |
|
This method destroys all unreferenced shaders in manager.
Definition at line 661 of file Shaders.cpp. References TArrayPtrs< T, size, step >::AddItem(), TArrayPtrs< T, size, step >::GetSize(), and TArrayPtrs< T, size, step >::ReserveSize(). Here is the call graph for this function: ![]() |
|
Returns name of entry function of shaders in HLSL loaded via this manager.
|
|
Returns type of shader files to load with this manager.
|
|
Returns specified shader from given file or NULL if an error occured. This method increases number of references to TPixelShader.
Definition at line 630 of file Shaders.cpp. References TArrayPtrs< T, size, step >::GetSize(). Here is the call graph for this function: ![]() |
|
Return number of shaders in manager.
|
|
This method returns number of unreferenced shaders in manager.
Definition at line 695 of file Shaders.cpp. References TArrayPtrs< T, size, step >::GetSize(). Here is the call graph for this function: ![]() |