Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

RmHLSLShader Class Reference

HLSL Shader. More...

#include <RmEffect.h>

Inheritance diagram for RmHLSLShader:

RmHLShader RmShader RmNode List of all members.

Public Member Functions

 RmHLSLShader ()
 Default Constructor.

 RmHLSLShader (const RM_TCHAR *strName, bool bPixelShader)
 Constructor.

virtual ~RmHLSLShader ()
 Destructor.

virtual void Update (RmNodeUpdateType nodeUpdateType, RmNode *pRmUpdateRootNode)
 Update.

virtual bool LoadXMLData (int hDoc, const RM_TCHAR *strXPath, const RM_TCHAR *strRmXMLVersion)
 Load node data from XML.

virtual bool SaveXMLData (int hDoc, const RM_TCHAR *strXPath)
 Save node data to XML.

virtual const RM_TCHAR * GetDescription ()
virtual RmNodeClone (bool bIncludeLoadedData)
 Clone this node.

virtual void AddParameterDeclaration (RmNode *pParameterNode, int nRegisterIndex)
 Add parameter declaration.

RmStringT & GetDisassemblyCode ()
 Get disassembler code.

void SetDisassemblyCode (RmStringT rstrDisassembly)
 Set diassembler code.

void SetDisassemblyCode (const RM_TCHAR *strDisassembly)
 Set diassembler code.

void SetTarget (const RM_TCHAR *strTarget)
 Set Target.

const RmStringT & GetTarget ()
 Get Target.

void SetEntryPoint (const RM_TCHAR *strEntryPt)
 Set entry point.

const RmStringT & GetEntryPoint ()
 Get entry point.


Protected Member Functions

virtual void CopyNodeData (RmNode *pDestinationNode, bool bIncludeLoadedData)
 Copy node data.

virtual RmNodeTypeChildRuleListGetNodeTypeChildRuleList ()
 Parent / Child rule list function.

virtual void SetNodeTypeChildRuleList (RmNodeTypeChildRuleList *pRmNodeChildRuleList)
 Sets the node child rule list for the given node.

virtual void SetType (const RM_TCHAR *strNewType)
 Set type.


Detailed Description

HLSL Shader.

RmHLSLShader is the class for representing DirectX high level shader nodes in the database.


Constructor & Destructor Documentation

RmHLSLShader::RmHLSLShader  ) 
 

Default Constructor.

Default constructor

RmHLSLShader::RmHLSLShader const RM_TCHAR *  strName,
bool  bPixelShader
 

Constructor.

Creates a new HLSL shader with the specified name and flag whether it's a pixel or a vertex shader

Parameters:
strName Name of node
bPixelShader Flag for PixelShader

virtual RmHLSLShader::~RmHLSLShader  )  [virtual]
 

Destructor.

Destructor


Member Function Documentation

virtual void RmHLSLShader::AddParameterDeclaration RmNode pParameterNode,
int  nRegisterIndex
[virtual]
 

Add parameter declaration.

Virtual method to add correct declaration for the specified parameter to the shader text The input parameter can be either a shader constant or a sampler node.

Parameters:
pParameterNode Node to add RegisterIndex
Returns:
None

Reimplemented from RmHLShader.

virtual RmNode* RmHLSLShader::Clone bool  bIncludeLoadedData  )  [virtual]
 

Clone this node.

Creates a clone of this node

Returns:
Cloned node. Returns NULL if cloning failed.

Reimplemented from RmHLShader.

virtual void RmHLSLShader::CopyNodeData RmNode pDestinationNode,
bool  bIncludeLoadedData
[protected, virtual]
 

Copy node data.

Copies this node's contents (not including children) into the destination node. See RmNode::CopyNodeData for details

Parameters:
pDestinationNode the destination node
Returns:
None

Reimplemented from RmHLShader.

virtual const RM_TCHAR* RmHLSLShader::GetDescription  )  [virtual]
 

Returns description of the node: used for displaying a tooltip in the workspace tree view for the given node.

Returns:
Returns description string

Reimplemented from RmHLShader.

RmStringT& RmHLSLShader::GetDisassemblyCode  )  [inline]
 

Get disassembler code.

Retrieve disassembly code string

Returns:
Disassembler code

const RmStringT& RmHLSLShader::GetEntryPoint  )  [inline]
 

Get entry point.

Retrieve shader entry point

Returns:
Entry point name

virtual RmNodeTypeChildRuleList* RmHLSLShader::GetNodeTypeChildRuleList  )  [inline, protected, virtual]
 

Parent / Child rule list function.

Retrieves the rule list for adding child nodes for a given node type

Returns:
Returns node type child list rules

Reimplemented from RmHLShader.

const RmStringT& RmHLSLShader::GetTarget  )  [inline]
 

Get Target.

Retrieve target value for given shader

Returns:
Target name

virtual bool RmHLSLShader::LoadXMLData int  hDoc,
const RM_TCHAR *  strXPath,
const RM_TCHAR *  strRmXMLVersion
[virtual]
 

Load node data from XML.

Loads versioned XML node data. Note that this method will only load the contents of each node, not the data for all of the children nodes. Each child will have its own XML loading function called by the API.

Parameters:
hDoc Handle to the XML document
strXPath Node path in XML
strRmXMLVersion XML version
Returns:
True if load succeeded. False otherwise.

Reimplemented from RmHLShader.

virtual bool RmHLSLShader::SaveXMLData int  hDoc,
const RM_TCHAR *  strXPath
[virtual]
 

Save node data to XML.

Saves node's contents to XML. Note that this method will only save the contents of each node, not the data for all of the children nodes. Each child will have its own XML saving function called by the API.

Parameters:
hDoc Handle to the XML document
strXPath Node path in XML
Returns:
True if save succeeded. False otherwise.

Reimplemented from RmHLShader.

void RmHLSLShader::SetDisassemblyCode const RM_TCHAR *  strDisassembly  )  [inline]
 

Set diassembler code.

Store new value as disassembed code string

Parameters:
strDisassembly disassembler string

void RmHLSLShader::SetDisassemblyCode RmStringT  rstrDisassembly  )  [inline]
 

Set diassembler code.

Store new value as disassembed code string

Parameters:
rstrDisassembly disassembler string

void RmHLSLShader::SetEntryPoint const RM_TCHAR *  strEntryPt  ) 
 

Set entry point.

Set shader entry point

Parameters:
strEntryPoint Entry point name
Returns:
None

virtual void RmHLSLShader::SetNodeTypeChildRuleList RmNodeTypeChildRuleList pRmNodeChildRuleList  )  [inline, protected, virtual]
 

Sets the node child rule list for the given node.

Sets the child addition rule list for the given node.

Parameters:
pRmNodeChildRuleList new node rules list
None 

Reimplemented from RmHLShader.

void RmHLSLShader::SetTarget const RM_TCHAR *  strTarget  ) 
 

Set Target.

Set new target for given shader

Parameters:
strTarget Target name
Returns:
None

virtual void RmHLSLShader::SetType const RM_TCHAR *  strNewType  )  [inline, protected, virtual]
 

Set type.

Compose the type string chain

Parameters:
strNewType New type string
Returns:
None

Reimplemented from RmHLShader.

virtual void RmHLSLShader::Update RmNodeUpdateType  nodeUpdateType,
RmNode pRmUpdateRootNode
[virtual]
 

Update.

Updates the internal values of the node

Parameters:
nodeUpdateType Update type
See also:
RmNodeUpdateType
Parameters:
pRmUpdateRootNode Root node for update
Returns:
None

Reimplemented from RmHLShader.


The documentation for this class was generated from the following file:
Generated on Fri Feb 25 16:09:03 2005 for RenderMonkey SDK by doxygen 1.3.6