TK_Custom_Shader

Functions

TK_Custom_Shader

~TK_Custom_Shader

TK_Status

Read

TK_Status

Write

TK_Status

Clone

TK_Status

ReadAscii

TK_Status

WriteAscii

void

Reset

void

SetShaderTag

bool

GetShaderTag

void

SetVertexShaderTag

bool

GetVertexShaderTag

TK_Status

SetShaderTag

void

SetPixelShaderTag

bool

GetPixelShaderTag

void

SetShaderUniformsData

TKO_Custom_Shader_Option_Bits

GetShaderUniformsDataFlag

bool

GetPrimitiveEnum

bool

GetPrimitiveString

Detailed Description

class TK_Custom_Shader : public BBaseOpcodeHandler

Handles the TKE_Custom_Shader opcode.

TKE_Custom_Shader provides support for writing/reading the TKE_Custom_Shader opcode object to/from an HSF file.

The HOOPS/3dGS scene-graph supports custom shader.

Subclassed by HTK_Custom_Shader

Public Functions

TK_Custom_Shader()

constructor

~TK_Custom_Shader()
virtual TK_Status Read(BStreamFileToolkit &tk)

Reads data from the toolkit buffer, decodes/decompresses it, and maps it to the opcode handlers data members. User-defined classes which need to write out custom data should utilize one of the available GetData() methods.

Parameters

tk – A reference to the BStreamFileToolkit object.

Returns

The result of the function call.

virtual TK_Status Write(BStreamFileToolkit &tk)

Encodes/compresses data and writes data to the toolkit buffer. User-defined classes which need to write out custom data should utilize one of the available PutData() methods, and first write out the opcode associated with the group of binary data followed by the data itself.

Parameters

tk – A reference to the BStreamFileToolkit object.

Returns

The result of the function call.

virtual TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const

Copies the opcode handler

Parameters
  • tk – A reference to the BStreamFileToolkit object.

  • handler – A pointer to the opcode handler object. Passed by reference.

Returns

The result of the function call.

TK_Status ReadAscii(BStreamFileToolkit &tk)

Deprecated.

TK_Status WriteAscii(BStreamFileToolkit &tk)

Deprecated.

virtual void Reset()

Resets the current opcode handler. This is called by the toolkit when it is done processing an opcode. This method reinitializes any opcode handler variables and frees up temporary data.

void SetShaderTag(TKO_Custom_Shader_Def_Stage shader_stage, TKO_Custom_Shader_Primitive primitive_enum, int tag)

Sets the shader tag

bool GetShaderTag(TKO_Custom_Shader_Def_Stage shader_stage, TKO_Custom_Shader_Primitive primitive_enum, int &tag)

Gets the shader tag

void SetVertexShaderTag(TKO_Custom_Shader_Primitive primitive_enum, int tag)

Sets the vertex shader tag

bool GetVertexShaderTag(TKO_Custom_Shader_Primitive primitive_enum, int &tag)

Gets the vertex shader tag

TK_Status SetShaderTag(BStreamFileToolkit &tk, TKO_Custom_Shader_Def_Stage shader_stage, TKO_Custom_Shader_Primitive primitive_enum, long long shader_key)

Sets the shader tag

void SetPixelShaderTag(TKO_Custom_Shader_Primitive primitive_enum, int tag)

Sets the pixel shader tag

bool GetPixelShaderTag(TKO_Custom_Shader_Primitive primitive_enum, int &tag)

Gets the pixel shader tag

void SetShaderUniformsData(TKO_Custom_Shader_Def_Stage shader_stage, TKO_Custom_Shader_Primitive primitive_enum, unsigned char const *data, int length)

Sets the shader uniforms data

TKO_Custom_Shader_Option_Bits GetShaderUniformsDataFlag(TKO_Custom_Shader_Def_Stage shader_stage, TKO_Custom_Shader_Primitive primitive_enum)

Gets the shader uniforms data flag

bool GetPrimitiveEnum(char const *primitive, TKO_Custom_Shader_Primitive &primitive_enum)

Gets the primitive enum

bool GetPrimitiveString(TKO_Custom_Shader_Primitive primitive_enum, char *primitive)

Gets the primitive string