#include <Shaders.h>
Inheritance diagram for NSShaders::TVertexShaderManager:
Public Member Functions | |
TVertexShader * | GetVertexShader (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 TVertexShaderManager * | CreateVertexShaderManager (TRenderer *renderer) |
This method creates vertex shader manager. | |
static void | DestroyVertexShaderManager (TVertexShaderManager *manager) |
Destroy specified vertex 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 TVertexShaderManager::DestroyUnreferencedShaders.
You can get number of unreferenced shaders via TVertexShaderManager::GetUnreferencedShaderCount method.
Definition at line 114 of file Shaders.h.
|
This method creates vertex shader manager.
Definition at line 244 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 309 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: ![]() |
|
Destroy specified vertex shader manager. After calling this method is manager invalid and should be set to NULL!!!
Definition at line 262 of file Shaders.cpp. References TGlobalsSystem::GetLogFile(), and NSMath::NSStdMath::log(). 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.
|
|
Return number of shaders in manager.
|
|
This method returns number of unreferenced shaders in manager.
Definition at line 343 of file Shaders.cpp. References TArrayPtrs< T, size, step >::GetSize(). Here is the call graph for this function: ![]() |
|
Returns specified shader from given file or NULL if an error occured. This method increases number of references to TVertexShader.
Definition at line 278 of file Shaders.cpp. References TArrayPtrs< T, size, step >::GetSize(). Here is the call graph for this function: ![]() |