Shader_Unreal Class Reference

Inheritance diagram for Shader_Unreal:
Shader Shader_ComplexSurface Shader_FogSurface Shader_GouraudPolygon Shader_Tile

List of all members.

Classes

struct  _variables

Public Types

enum  BUFFERS { BUFFER_MULTIPASS, BUFFER_HUD }

Public Member Functions

 Shader_Unreal (ID3D10Device *device)
bool compile (const D3D10_SHADER_MACRO *macros, DWORD shaderFlags)
bool compileUnrealShader (const wchar_t *filename, const D3D10_SHADER_MACRO *macros, DWORD shaderFlags, const D3D10_INPUT_ELEMENT_DESC *elementDesc, int numElements)
bool createRenderTargetViews (ID3D10RenderTargetView *backbuffer, const DXGI_SWAP_CHAIN_DESC &swapChainDesc, int multiSampleCount)
void releaseRenderTargetViews ()
void setProjection (float aspect, float XoverZ, float zNear) const
void setViewportSize (float x, float y) const
virtual void setTexture (int pass, ID3D10ShaderResourceView *texture) const
void clear (Vec4 &clearColor) const
void clearDepth () const
void switchBuffers (enum BUFFERS buffer)

Static Public Attributes

static _variables variables

Static Private Attributes

static DynamicGeometryBufferdynamicGeometryBuffer
static ID3D10EffectPool * pool
static ID3D10RenderTargetView * unrealRTV
static ID3D10DepthStencilView * unrealDSV
static ID3D10ShaderResourceView * unrealSRV
static ID3D10DepthStencilView * noMSAADSV

Member Function Documentation

void Shader_Unreal::clear ( Vec4 clearColor  )  const

Clear backbuffer(s)

Parameters:
clearColor The color with which the screen is cleared.
void Shader_Unreal::clearDepth (  )  const

Clear depth

void Shader_Unreal::setProjection ( float  aspect,
float  XoverZ,
float  zNear 
) const

Set projection matrix parameters.

Parameters:
aspect The viewport aspect ratio.
XoverZ Ratio between frustum X and Z. Projection parameters are for z=1, so x over z gives x coordinate; and x/z*aspect=y/z=y.
void Shader_Unreal::switchBuffers ( enum BUFFERS  buffer  ) 

Switch to reuse of current buffer to be able to draw things after postprocessing (i.e. they are drawn to the rendertarget of the last post processing step, which should still be bound)


Member Data Documentation

Shaders that implement the basic Unreal geometry pipeline inherit from this. They share a few shader variables and use the same (dynamic) geometry buffer. THIS MEANS THAT THEY MUST USE EQUAL SIZE VERTICES

ID3D10DepthStencilView * Shader_Unreal::noMSAADSV [static, private]

Depth stencil view for things drawn after post processing


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

Generated by  doxygen 1.6.2