Shader_ComplexSurface Class Reference

Inheritance diagram for Shader_ComplexSurface:
Shader_Unreal Shader

List of all members.

Public Member Functions

bool compile (const D3D10_SHADER_MACRO *macros, DWORD shaderFlags)
 Shader_ComplexSurface (bool simulateMultipassTexturing)
void switchPass (TextureCache::TexturePass pass, BOOL val)
void apply ()
void setTexture (int pass, ID3D10ShaderResourceView *texture) const
void setFlags (int flags)

Private Attributes

struct {
   ID3D10EffectScalarVariable *   useTexturePass
   ID3D10EffectShaderResourceVariable *   textures
variables
ID3D10BlendState * bstate_Translucent_ComplexSurface
bool enableChanged
BOOL useTexturePass [numBools]
bool simulateMultipassTexturing

Static Private Attributes

static const int numBools = TextureCache::DUMMY_NUM_TEXTURE_PASSES -1

Member Function Documentation

void Shader_ComplexSurface::apply (  )  [virtual]

Draw the shader's buffer contents.

Reimplemented from Shader.

void Shader_ComplexSurface::setFlags ( int  flags  )  [virtual]

Handle flags that change depth or blend state. See polyflags.h. Only done if flag is different from current. If there's any buffered geometry, it will drawn before setting the new flags.

Parameters:
flags Unreal polyflags.
d3dflags Custom flags defined in d3d.h.
Note:
Bottleneck; make sure buffers are only rendered due to flag changes when absolutely necessary

Reimplemented from Shader.


Member Data Documentation

Special blend state to enable the Glide renderer's multi pass rendering, see shader for details

ID3D10EffectScalarVariable* Shader_ComplexSurface::useTexturePass

Bool whether to use each texture pass (shader side)


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

Generated by  doxygen 1.6.2