NSShaders::TPixelShaderManager Class Reference

This class servers as manager for pixel shaders. More...

#include <Shaders.h>

Inheritance diagram for NSShaders::TPixelShaderManager:

Inheritance graph
[legend]
Collaboration diagram for NSShaders::TPixelShaderManager:

Collaboration graph
[legend]
List of all members.

Public Member Functions

TPixelShaderGetPixelShader (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 TStringGetEntryFunctionName (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 TPixelShaderManagerCreatePixelShaderManager (TRenderer *renderer)
 This method creates pixel shader manager.
static void DestroyPixelShaderManager (TPixelShaderManager *manager)
 Destroy specified pixel shader manager.

Detailed Description

This class servers as manager for pixel shaders.

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.


Member Function Documentation

TPixelShaderManager * TPixelShaderManager::CreatePixelShaderManager TRenderer renderer  )  [static]
 

This method creates pixel shader manager.

Parameters:
renderer [in] valid renderer

Definition at line 596 of file Shaders.cpp.

References TGlobalsSystem::GetLogFile(), and NSMath::NSStdMath::log().

Here is the call graph for this function:

void TPixelShaderManager::DestroyPixelShaderManager TPixelShaderManager manager  )  [static]
 

Destroy specified pixel shader manager.

After calling this method is manager invalid and should be set to NULL!!!

Parameters:
manager [in] pixel shader manager to destroy

Definition at line 614 of file Shaders.cpp.

References TGlobalsSystem::GetLogFile(), and NSMath::NSStdMath::log().

Here is the call graph for this function:

void TPixelShaderManager::DestroyUnreferencedShaders void   ) 
 

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:

const TString& NSShaders::TPixelShaderManager::GetEntryFunctionName void   )  const [inline]
 

Returns name of entry function of shaders in HLSL loaded via this manager.

Definition at line 254 of file Shaders.h.

EnumShaderFileType NSShaders::TPixelShaderManager::GetFileType void   )  const [inline]
 

Returns type of shader files to load with this manager.

Definition at line 258 of file Shaders.h.

TPixelShader * TPixelShaderManager::GetPixelShader const TString filename  ) 
 

Returns specified shader from given file or NULL if an error occured.

This method increases number of references to TPixelShader.

Parameters:
filename [in] name of file with shader

Definition at line 630 of file Shaders.cpp.

References TArrayPtrs< T, size, step >::GetSize().

Here is the call graph for this function:

DWORD NSShaders::TPixelShaderManager::GetShaderCount void   )  const [inline]
 

Return number of shaders in manager.

Definition at line 248 of file Shaders.h.

DWORD TPixelShaderManager::GetUnreferencedShaderCount void   )  const
 

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:


The documentation for this class was generated from the following files:
Generated on Wed Nov 28 23:09:31 2007 for Joy4D by  doxygen 1.4.6-NO