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 |
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.
flags | Unreal polyflags. | |
d3dflags | Custom flags defined in d3d.h. |
Reimplemented from Shader.
ID3D10BlendState* Shader_ComplexSurface::bstate_Translucent_ComplexSurface [private] |
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)