NW4F Eft
Loading...
Searching...
No Matches
nw::eft::Shader Class Reference

#include <eft_CafeWrapper.h>

Public Types

enum  { cAttributeMax = 16 }
enum  VertexFormat { FORMAT_32_UINT = GX2_ATTRIB_FORMAT_32_UINT , FORMAT_32_32_32_FLOAT = GX2_ATTRIB_FORMAT_32_32_32_FLOAT , FORMAT_32_32_32_32_FLOAT = GX2_ATTRIB_FORMAT_32_32_32_32_FLOAT }

Public Member Functions

 Shader ()
bool IsInitialized () const
void Finalize (Heap *heap)
void BindShader ()
bool CreateShader (Heap *heap, const void *gshBuffer, u32 gshBufferSize)
u32 GetFragmentSamplerLocation (const char *name)
u32 GetAttributeLocation (const char *name)
u32 GetAttribute (const char *name, u32 index, VertexFormat fmt, u32 offset=0, bool instancingAttr=false)
void SetupShader (Heap *heap)
const GX2VertexShader * GetVertexShader ()
const GX2PixelShader * GetPixelShader ()
const GX2GeometryShader * GetGeometryShader ()

Private Attributes

GX2VertexShader * mpVertexShader
GX2PixelShader * mpPixelShader
GX2GeometryShader * mpGeometryShader
GX2FetchShader mFetchShader
void * mpFetchShaderBuf
u32 mAttribsNum
GX2AttribStream mAttribs [cAttributeMax]
u32 mAttribsIndex [cAttributeMax]
bool mInitialized

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
cAttributeMax 

◆ VertexFormat

Enumerator
FORMAT_32_UINT 
FORMAT_32_32_32_FLOAT 
FORMAT_32_32_32_32_FLOAT 

Constructor & Destructor Documentation

◆ Shader()

nw::eft::Shader::Shader ( )

Member Function Documentation

◆ IsInitialized()

bool nw::eft::Shader::IsInitialized ( ) const
inline

◆ Finalize()

void nw::eft::Shader::Finalize ( Heap * heap)

◆ BindShader()

void nw::eft::Shader::BindShader ( )

◆ CreateShader()

bool nw::eft::Shader::CreateShader ( Heap * heap,
const void * gshBuffer,
u32 gshBufferSize )

◆ GetFragmentSamplerLocation()

u32 nw::eft::Shader::GetFragmentSamplerLocation ( const char * name)

◆ GetAttributeLocation()

u32 nw::eft::Shader::GetAttributeLocation ( const char * name)

◆ GetAttribute()

u32 nw::eft::Shader::GetAttribute ( const char * name,
u32 index,
VertexFormat fmt,
u32 offset = 0,
bool instancingAttr = false )

◆ SetupShader()

void nw::eft::Shader::SetupShader ( Heap * heap)

◆ GetVertexShader()

const GX2VertexShader * nw::eft::Shader::GetVertexShader ( )
inline

◆ GetPixelShader()

const GX2PixelShader * nw::eft::Shader::GetPixelShader ( )
inline

◆ GetGeometryShader()

const GX2GeometryShader * nw::eft::Shader::GetGeometryShader ( )
inline

Member Data Documentation

◆ mpVertexShader

GX2VertexShader* nw::eft::Shader::mpVertexShader
private

◆ mpPixelShader

GX2PixelShader* nw::eft::Shader::mpPixelShader
private

◆ mpGeometryShader

GX2GeometryShader* nw::eft::Shader::mpGeometryShader
private

◆ mFetchShader

GX2FetchShader nw::eft::Shader::mFetchShader
private

◆ mpFetchShaderBuf

void* nw::eft::Shader::mpFetchShaderBuf
private

◆ mAttribsNum

u32 nw::eft::Shader::mAttribsNum
private

◆ mAttribs

GX2AttribStream nw::eft::Shader::mAttribs[cAttributeMax]
private

◆ mAttribsIndex

u32 nw::eft::Shader::mAttribsIndex[cAttributeMax]
private

◆ mInitialized

bool nw::eft::Shader::mInitialized
private