CVPOperand Struct Reference

#include <vertex_program_parse.h>


Detailed Description

An operand in a vertex program
Author:
Nicolas Vizerie

Nevrax France

Date:
2002

Definition at line 63 of file vertex_program_parse.h.

Public Types

enum  EInputRegister {
  IPosition = 0, IWeight, INormal, IPrimaryColor,
  ISecondaryColor, IFogCoord, IPaletteSkin, IEmpty,
  ITex0, ITex1, ITex2, ITex3,
  ITex4, ITex5, ITex6, ITex7,
  ITex8, InputRegisterCount
}
enum  EOperandType {
  Variable = 0, Constant, InputRegister, OutputRegister,
  AddressRegister, OperandTypeCount
}
enum  EOutputRegister {
  OHPosition = 0, OPrimaryColor, OSecondaryColor, OBackFacePrimaryColor,
  OBackFaceSecondaryColor, OFogCoord, OPointSize, OTex0,
  OTex1, OTex2, OTex3, OTex4,
  OTex5, OTex6, OTex7, OutputRegisterCount
}

Data Fields

bool Indexed
bool Negate
CVPSwizzle Swizzle
EOperandType Type
union {
   uint   ConstantValue
   EInputRegister   InputRegisterValue
   EOutputRegister   OutputRegisterValue
   uint   VariableValue
Value
uint WriteMask


Member Enumeration Documentation

enum CVPOperand::EInputRegister
 

Enumeration values:
IPosition 
IWeight 
INormal 
IPrimaryColor 
ISecondaryColor 
IFogCoord 
IPaletteSkin 
IEmpty 
ITex0 
ITex1 
ITex2 
ITex3 
ITex4 
ITex5 
ITex6 
ITex7 
ITex8 
InputRegisterCount 

Definition at line 76 of file vertex_program_parse.h.

00077         {
00078                 IPosition = 0,
00079                 IWeight,
00080                 INormal,
00081                 IPrimaryColor,
00082                 ISecondaryColor,
00083                 IFogCoord,
00084                 IPaletteSkin,
00085                 IEmpty,
00086                 ITex0,
00087                 ITex1,
00088                 ITex2,
00089                 ITex3,
00090                 ITex4,
00091                 ITex5,
00092                 ITex6,
00093                 ITex7,
00094                 ITex8,
00095                 InputRegisterCount
00096         };

enum CVPOperand::EOperandType
 

Enumeration values:
Variable 
Constant 
InputRegister 
OutputRegister 
AddressRegister 
OperandTypeCount 

Definition at line 66 of file vertex_program_parse.h.

00067         {
00068                 Variable = 0, // (R[0], R[1] ..)
00069                 Constant, // (
00070                 InputRegister,
00071                 OutputRegister,
00072                 AddressRegister, // for now, only means a0.x, no additionnal info is needed
00073                 OperandTypeCount
00074         };

enum CVPOperand::EOutputRegister
 

Enumeration values:
OHPosition 
OPrimaryColor 
OSecondaryColor 
OBackFacePrimaryColor 
OBackFaceSecondaryColor 
OFogCoord 
OPointSize 
OTex0 
OTex1 
OTex2 
OTex3 
OTex4 
OTex5 
OTex6 
OTex7 
OutputRegisterCount 

Definition at line 98 of file vertex_program_parse.h.

00099         {
00100                 OHPosition = 0,
00101                 OPrimaryColor,
00102                 OSecondaryColor,
00103                 OBackFacePrimaryColor,   // warning : backface colors are not supported on all implementations
00104                 OBackFaceSecondaryColor,
00105                 OFogCoord,
00106                 OPointSize,
00107                 OTex0,
00108                 OTex1,
00109                 OTex2,
00110                 OTex3,
00111                 OTex4,
00112                 OTex5,
00113                 OTex6,
00114                 OTex7,
00115                 OutputRegisterCount
00116         };


Field Documentation

uint CVPOperand::ConstantValue
 

Definition at line 126 of file vertex_program_parse.h.

bool CVPOperand::Indexed
 

Definition at line 129 of file vertex_program_parse.h.

Referenced by dumpOperand(), CVPParser::parseConstantRegister(), CVPParser::parseOp3(), CVPParser::parseOp4(), and NL3D::CDriverGL::setupEXTVertexShader().

EInputRegister CVPOperand::InputRegisterValue
 

Definition at line 124 of file vertex_program_parse.h.

bool CVPOperand::Negate
 

Definition at line 135 of file vertex_program_parse.h.

Referenced by dumpOperand(), CVPParser::parseOperand(), and NL3D::CDriverGL::setupEXTVertexShader().

EOutputRegister CVPOperand::OutputRegisterValue
 

Definition at line 123 of file vertex_program_parse.h.

CVPSwizzle CVPOperand::Swizzle
 

Definition at line 136 of file vertex_program_parse.h.

Referenced by dumpOperand(), CVPParser::parseInstruction(), CVPParser::parseOperand(), and NL3D::CDriverGL::setupEXTVertexShader().

EOperandType CVPOperand::Type
 

Definition at line 118 of file vertex_program_parse.h.

Referenced by dumpOperand(), CVPParser::parseAddressRegister(), CVPParser::parseConstantRegister(), CVPParser::parseInputRegister(), CVPParser::parseInstruction(), CVPParser::parseOp2(), CVPParser::parseOp3(), CVPParser::parseOp4(), CVPParser::parseOperand(), CVPParser::parseOutputRegister(), CVPParser::parseVariableRegister(), and NL3D::CDriverGL::setupEXTVertexShader().

union { ... } CVPOperand::Value
 

Referenced by dumpOperand(), CVPParser::parseConstantRegister(), CVPParser::parseInputRegister(), CVPParser::parseInstruction(), CVPParser::parseOp3(), CVPParser::parseOp4(), CVPParser::parseOperand(), CVPParser::parseOutputRegister(), CVPParser::parseVariableRegister(), and NL3D::CDriverGL::setupEXTVertexShader().

uint CVPOperand::VariableValue
 

Definition at line 125 of file vertex_program_parse.h.

uint CVPOperand::WriteMask
 

Definition at line 132 of file vertex_program_parse.h.

Referenced by dumpOperand(), CVPParser::parseInstruction(), and CVPParser::parseOperand().


The documentation for this struct was generated from the following file:
Generated on Tue Mar 16 06:43:56 2004 for NeL by doxygen 1.3.6