MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / d3d_SetDefaultStates

Function d3d_SetDefaultStates

legacy/renderer/Direct3D.cpp:1190–1288  ·  view source on GitHub ↗

Sets up some default rendering states for Direct3D

Source from the content-addressed store, hash-verified

1188
1189// Sets up some default rendering states for Direct3D
1190void d3d_SetDefaultStates() {
1191 // lpD3DDevice->SetLightState( D3DLIGHTSTATE_AMBIENT, 0xffffffff );
1192 lpD3DDevice->SetRenderState(D3DRENDERSTATE_TEXTUREPERSPECTIVE, TRUE);
1193 lpD3DDevice->SetRenderState(D3DRENDERSTATE_ALPHATESTENABLE, TRUE);
1194 lpD3DDevice->SetRenderState(D3DRENDERSTATE_ALPHAFUNC, D3DCMP_GREATER);
1195 lpD3DDevice->SetRenderState(D3DRENDERSTATE_ALPHAREF, 0);
1196 lpD3DDevice->SetRenderState(D3DRENDERSTATE_DITHERENABLE, TRUE);
1197
1198 if (d3d_MultiTexture) {
1199 // Set second texel unit stages
1200 lpD3DDevice->SetTextureStageState(1, D3DTSS_MINFILTER, D3DTFN_LINEAR);
1201 lpD3DDevice->SetTextureStageState(1, D3DTSS_MAGFILTER, D3DTFG_LINEAR);
1202 lpD3DDevice->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_DISABLE);
1203 lpD3DDevice->SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_DISABLE);
1204 lpD3DDevice->SetTextureStageState(1, D3DTSS_TEXCOORDINDEX, 1);
1205 lpD3DDevice->SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_TEXTURE);
1206 lpD3DDevice->SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_CURRENT);
1207 lpD3DDevice->SetTextureStageState(1, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
1208 lpD3DDevice->SetTextureStageState(1, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
1209
1210 lpD3DDevice->SetTextureStageState(1, D3DTSS_ADDRESS, D3DTADDRESS_CLAMP);
1211
1212 D3D_multitexture_state = false;
1213 }
1214
1215 if (d3d_CanBumpmap) {
1216 D3D_bumpmap_state = false;
1217 float _val = 0;
1218
1219 lpD3DDevice->SetTextureStageState(1, D3DTSS_MIPFILTER, D3DTFP_LINEAR);
1220 lpD3DDevice->SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, 0);
1221 lpD3DDevice->SetTextureStageState(2, D3DTSS_TEXCOORDINDEX, 1);
1222
1223 lpD3DDevice->SetTextureStageState(1, D3DTSS_BUMPENVMAT00, *(DWORD *)(&(_val = 1.0f)));
1224 lpD3DDevice->SetTextureStageState(1, D3DTSS_BUMPENVMAT01, *(DWORD *)(&(_val = 0.0f)));
1225 lpD3DDevice->SetTextureStageState(1, D3DTSS_BUMPENVMAT10, *(DWORD *)(&(_val = 0.0f)));
1226 lpD3DDevice->SetTextureStageState(1, D3DTSS_BUMPENVMAT11, *(DWORD *)(&(_val = 1.0f)));
1227
1228 lpD3DDevice->SetTextureStageState(1, D3DTSS_BUMPENVLSCALE, *(DWORD *)(&(_val = 1.0f)));
1229 lpD3DDevice->SetTextureStageState(1, D3DTSS_BUMPENVLOFFSET, *(DWORD *)(&(_val = 0.0f)));
1230
1231 lpD3DDevice->SetTextureStageState(2, D3DTSS_ADDRESS, D3DTADDRESS_CLAMP);
1232 lpD3DDevice->SetTextureStageState(2, D3DTSS_COLORARG1, D3DTA_TEXTURE);
1233 lpD3DDevice->SetTextureStageState(2, D3DTSS_COLORARG2, D3DTA_CURRENT);
1234 }
1235
1236 lpD3DDevice->SetRenderState(D3DRENDERSTATE_ZWRITEENABLE, TRUE);
1237 lpD3DDevice->SetRenderState(D3DRENDERSTATE_ZFUNC, D3DCMP_LESSEQUAL);
1238 lpD3DDevice->SetRenderState(D3DRENDERSTATE_CULLMODE, D3DCULL_NONE);
1239
1240 // Choose Wbuffer or straight zbuffer
1241
1242 d3d_SetZBufferState(1);
1243
1244 D3D_state.cur_color = 0x00FFFFFF;
1245 D3D_state.cur_bilinear_state = -1;
1246 D3D_state.cur_zbuffer_state = 1;
1247 D3D_state.cur_texture_quality = -1;

Callers 1

d3d_InitFunction · 0.85

Calls 11

d3d_SetZBufferStateFunction · 0.85
d3d_SetWrapTypeFunction · 0.85
d3d_SetFilteringFunction · 0.85
d3d_SetMipStateFunction · 0.85
d3d_SetAlphaValueFunction · 0.85
d3d_SetAlphaTypeFunction · 0.85
d3d_SetZValuesFunction · 0.85
d3d_SetGammaValueFunction · 0.85
d3d_SetFlatColorFunction · 0.85
d3d_SetWBufferDepthFunction · 0.85
GR_RGBFunction · 0.50

Tested by

no test coverage detected