This repository has been archived on 2025-02-27. You can view files and clone it, but cannot push or open issues or pull requests.
CnC_Renegade/Code/ww3d2/State Management.txt

173 lines
No EOL
4.9 KiB
Text

State Management Responsibilities
Key:
G - Global
DX8W - DX8 Wrapper
LE - Wrapper::Set Light Environment
DX8R - DX8 Renderer (affects meshes only)
Shader - ShaderClass
VM - VertexMaterial
Map - Mapper (part of VertexMaterial)
Texture - TextureClass
WW3D
_D3DRENDERSTATETYPE {
ZENABLE = 7,
FILLMODE = 8, WW3D
SHADEMODE = 9,
LINEPATTERN = 10,
ZWRITEENABLE = 14, Shader
ALPHATESTENABLE = 15, Shader
LASTPIXEL = 16,
SRCBLEND = 19, Shader
DESTBLEND = 20, Shader
CULLMODE = 22, Shader
ZFUNC = 23, Shader
ALPHAREF = 24, Shader
ALPHAFUNC = 25, Shader
DITHERENABLE = 26, G
ALPHABLENDENABLE = 27, Shader
FOGENABLE = 28, Shader
SPECULARENABLE = 29, Shader
ZVISIBLE = 30,
FOGCOLOR = 34, Shader
FOGTABLEMODE = 35, G
FOGSTART = 36, Scene
FOGEND = 37, Scene
FOGDENSITY = 38,
EDGEANTIALIAS = 40,
ZBIAS = 47, G (set to zero after device is initted)
RANGEFOGENABLE = 48, G
STENCILENABLE = 52,
STENCILFAIL = 53,
STENCILZFAIL = 54,
STENCILPASS = 55,
STENCILFUNC = 56,
STENCILREF = 57,
STENCILMASK = 58,
STENCILWRITEMASK = 59,
TEXTUREFACTOR = 60,
WRAP0 = 128,
WRAP1 = 129,
WRAP2 = 130,
WRAP3 = 131,
WRAP4 = 132,
WRAP5 = 133,
WRAP6 = 134,
WRAP7 = 135,
CLIPPING = 136,
LIGHTING = 137, VM
AMBIENT = 139, LE
FOGVERTEXMODE = 140, G
COLORVERTEX = 141, G
LOCALVIEWER = 142,
NORMALIZENORMALS = 143,
DIFFUSEMATERIALSOURCE = 145, VM
SPECULARMATERIALSOURCE = 146, G
AMBIENTMATERIALSOURCE = 147, VM, set to same setting as diffuse material source
EMISSIVEMATERIALSOURCE = 148, VM
VERTEXBLEND = 151,
CLIPPLANEENABLE = 152,
SOFTWAREVERTEXPROCESSING = 153, G
POINTSIZE = 154,
POINTSIZE_MIN = 155,
POINTSPRITEENABLE = 156,
POINTSCALEENABLE = 157,
POINTSCALE_A = 158,
POINTSCALE_B = 159,
POINTSCALE_C = 160,
MULTISAMPLEANTIALIAS = 161,
MULTISAMPLEMASK = 162,
PATCHEDGESTYLE = 163,
PATCHSEGMENTS = 164,
DEBUGMONITORTOKEN = 165,
POINTSIZE_MAX = 166,
INDEXEDVERTEXBLENDENABLE = 167,
COLORWRITEENABLE = 168,
TWEENFACTOR = 170,
BLENDOP = 171,
FORCE_DWORD = 0x7fffffff
} D3DRENDERSTATETYPE;
_D3DTEXTURESTAGESTATETYPE {
COLOROP = 1, Shader stages 0,1 only
COLORARG1 = 2, Shader stages 0,1 only
COLORARG2 = 3, Shader stages 0,1 only
ALPHAOP = 4, Shader stages 0,1 only
ALPHAARG1 = 5, Shader stages 0,1 only
ALPHAARG2 = 6, Shader stages 0,1 only
BUMPENVMAT00 = 7,
BUMPENVMAT01 = 8,
BUMPENVMAT10 = 9,
BUMPENVMAT11 = 10,
TEXCOORDINDEX = 11, DX8R, Map
ADDRESSU = 13, Texture
ADDRESSV = 14, Texture
BORDERCOLOR = 15,
MAGFILTER = 16, Texture
MINFILTER = 17, Texture
MIPFILTER = 18, Texture
MIPMAPLODBIAS = 19,
MAXMIPLEVEL = 20,
MAXANISOTROPY = 21,
BUMPENVLSCALE = 22,
BUMPENVLOFFSET = 23,
TEXTURETRANSFORMFLAGS = 24, Map
ADDRESSW = 25,
COLORARG0 = 26,
ALPHAARG0 = 27,
RESULTARG = 28,
FORCE_DWORD = 0x7fffffff
} D3DTEXTURESTAGESTATETYPE;
Variables
_D3DTRANSFORMSTATETYPE {
D3DTS_VIEW = 2, Pointgroup (restores), Camera
D3DTS_PROJECTION = 3, Camera
D3DTS_TEXTURE0 = 16,
D3DTS_TEXTURE1 = 17,
D3DTS_TEXTURE2 = 18,
D3DTS_TEXTURE3 = 19,
D3DTS_TEXTURE4 = 20,
D3DTS_TEXTURE5 = 21,
D3DTS_TEXTURE6 = 22,
D3DTS_TEXTURE7 = 23,
D3DTS_FORCE_DWORD = 0x7fffffff
D3DTS_WORLDMATRIX(0) = box, pointgroup, camera
} D3DTRANSFORMSTATETYPE;
Clip Planes =
Clip Status =
Current Texture Palette =
Cursor Position =
Cursor Properties =
Gamma Ramp =
Indices = DX8W
Light = LE
Material = VM
Palette Entries =
Pixel Shader =
Pixel Shader Const =
Render Target =
Stream Source = DX8W
Texture = DX8W
WORLD Transform = box, DX8R, pointgr
VIEW Transform = pointgr
PROJECTION Transform = camera
TEXTURE Transform = Map
Vertex Shader = DX8W
Vertex Shader Const =
Viewport = Camera, WW3D