# Ogre::RTShader::HLSLProgramWriter Class Reference
[RTShader]

HLSL target language writer implementation. More...

`#include <OgreShaderHLSLProgramWriter.h>`

Inheritance diagram for Ogre::RTShader::HLSLProgramWriter:
[legend]

List of all members.

## Public Member Functions

| HLSLProgramWriter ()
| Class constructor.
virtual | ~HLSLProgramWriter ()
| Class destructor.
virtual void | writeSourceCode (std::ostream &os, Program *program)
virtual const String & | getTargetLanguage () const
void * | operator new (size_t sz, const char *file, int line, const char *func)
| operator new, with debug line info
void * | operator new (size_t sz)
void * | operator new (size_t sz, void *ptr)
| placement operator new
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info
void * | operator new[] (size_t sz)
void | operator delete (void *ptr)
void | operator delete (void *ptr, void *)
void | operator delete (void *ptr, const char *, int, const char *)
void | operator delete[] (void *ptr)
void | operator delete[] (void *ptr, const char *, int, const char *)

## Static Public Attributes

static String | TargetLanguage

## Protected Types

typedef map< GpuConstantType, const char * >::type | GpuConstTypeToStringMap
typedef map < Parameter::Semantic, const char * >::type | ParamSemanticToStringMap

## Protected Member Functions

void | initializeStringMaps ()
| Initialize string maps.
void | writeProgramDependencies (std::ostream &os, Program *program)
| Write the program dependencies.
void | writeUniformParameter (std::ostream &os, UniformParameterPtr parameter)
| Write a uniform parameter.
void | writeFunctionParameter (std::ostream &os, ParameterPtr parameter)
| Write a function parameter.
void | writeLocalParameter (std::ostream &os, ParameterPtr parameter)
| Write a local parameter.
void | writeFunctionDeclaration (std::ostream &os, Function *function, bool &needToTranslateHlsl4Color, ParameterPtr &colorParameter)
| Write a function declaration.
void | writeAtomInstance (std::ostream &os, FunctionAtom *atom)
| Write function atom instance.
void | writeProgramTitle (std::ostream &os, Program *program)
| Write the program title.
void | writeUniformParametersTitle (std::ostream &os, Program *program)
| Write the uniform parameters title.
void | writeFunctionTitle (std::ostream &os, Function *function)
| Write a function title.

## Protected Attributes

GpuConstTypeToStringMap | mGpuConstTypeMap
ParamSemanticToStringMap | mParamSemanticMap

## Detailed Description

HLSL target language writer implementation.

See also:
  ProgramWriter.

Definition at line 46 of file OgreShaderHLSLProgramWriter.h.

## Member Typedef Documentation

typedef map<GpuConstantType, const char*>::type Ogre::RTShader::HLSLProgramWriter::GpuConstTypeToStringMap `[protected]`

Definition at line 97 of file OgreShaderHLSLProgramWriter.h.

typedef map<Parameter::Semantic, const char*>::type Ogre::RTShader::HLSLProgramWriter::ParamSemanticToStringMap `[protected]`

Definition at line 98 of file OgreShaderHLSLProgramWriter.h.

## Constructor & Destructor Documentation

Ogre::RTShader::HLSLProgramWriter::HLSLProgramWriter | ( |  | ) |

Class constructor.

Parameters:

  | language | The target shader language.

virtual Ogre::RTShader::HLSLProgramWriter::~HLSLProgramWriter | ( |  | ) | `[virtual]`

Class destructor.

## Member Function Documentation

virtual const String& Ogre::RTShader::HLSLProgramWriter::getTargetLanguage | ( |  | ) | const`[virtual]`

See also:
  ProgramWriter::getTargetLanguage.

Implements Ogre::RTShader::ProgramWriter.

Definition at line 68 of file OgreShaderHLSLProgramWriter.h.

void Ogre::RTShader::HLSLProgramWriter::initializeStringMaps | ( |  | ) | `[protected]`

Initialize string maps.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | `[inherited]`

Definition at line 95 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |  |
| ) |  |  | `[inherited]`

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |  |
| ) |  |  | `[inherited]`

Definition at line 107 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | `[inherited]`

Definition at line 112 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |  |
| ) |  |  | `[inherited]`

Definition at line 118 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func |
| ) |  |  | `[inherited]`

operator new, with debug line info

Definition at line 67 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | `[inherited]`

Definition at line 72 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr |
| ) |  |  | `[inherited]`

placement operator new

Definition at line 78 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func |
| ) |  |  | `[inherited]`

array operator new, with debug line info

Definition at line 85 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | `[inherited]`

Definition at line 90 of file OgreMemoryAllocatedObject.h.

void Ogre::RTShader::HLSLProgramWriter::writeAtomInstance | ( | std::ostream & | os,
|  | FunctionAtom * | atom |
| ) |  |  | `[protected]`

Write function atom instance.

void Ogre::RTShader::HLSLProgramWriter::writeFunctionDeclaration | ( | std::ostream & | os,
|  | Function * | function,
|  | bool & | needToTranslateHlsl4Color,
|  | ParameterPtr & | colorParameter |
| ) |  |  | `[protected]`

Write a function declaration.

void Ogre::RTShader::HLSLProgramWriter::writeFunctionParameter | ( | std::ostream & | os,
|  | ParameterPtr | parameter |
| ) |  |  | `[protected]`

Write a function parameter.

void Ogre::RTShader::ProgramWriter::writeFunctionTitle | ( | std::ostream & | os,
|  | Function * | function |
| ) |  |  | `[protected, inherited]`

Write a function title.

void Ogre::RTShader::HLSLProgramWriter::writeLocalParameter | ( | std::ostream & | os,
|  | ParameterPtr | parameter |
| ) |  |  | `[protected]`

Write a local parameter.

void Ogre::RTShader::HLSLProgramWriter::writeProgramDependencies | ( | std::ostream & | os,
|  | Program * | program |
| ) |  |  | `[protected]`

Write the program dependencies.

void Ogre::RTShader::ProgramWriter::writeProgramTitle | ( | std::ostream & | os,
|  | Program * | program |
| ) |  |  | `[protected, inherited]`

Write the program title.

virtual void Ogre::RTShader::HLSLProgramWriter::writeSourceCode | ( | std::ostream & | os,
|  | Program * | program |
| ) |  |  | `[virtual]`

See also:
  ProgramWriter::writeSourceCode.

Implements Ogre::RTShader::ProgramWriter.

void Ogre::RTShader::HLSLProgramWriter::writeUniformParameter | ( | std::ostream & | os,
|  | UniformParameterPtr | parameter |
| ) |  |  | `[protected]`

Write a uniform parameter.

void Ogre::RTShader::ProgramWriter::writeUniformParametersTitle | ( | std::ostream & | os,
|  | Program * | program |
| ) |  |  | `[protected, inherited]`

Write the uniform parameters title.

## Member Data Documentation

GpuConstTypeToStringMap Ogre::RTShader::HLSLProgramWriter::mGpuConstTypeMap `[protected]`

Definition at line 102 of file OgreShaderHLSLProgramWriter.h.

ParamSemanticToStringMap Ogre::RTShader::HLSLProgramWriter::mParamSemanticMap `[protected]`

Definition at line 103 of file OgreShaderHLSLProgramWriter.h.

String Ogre::RTShader::HLSLProgramWriter::TargetLanguage `[static]`

Definition at line 70 of file OgreShaderHLSLProgramWriter.h.

The documentation for this class was generated from the following file:

- OgreShaderHLSLProgramWriter.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Wed Nov 3 2010 19:25:05