Определяет тип отображения устройству:
typedef enum _D3DRENDERSTATETYPE { D3DRS_ZENABLE = 7, D3DRS_FILLMODE = 8, D3DRS_SHADEMODE = 9, D3DRS_LINEPATTERN = 10, D3DRS_ZWRITEENABLE = 14, D3DRS_ALPHATESTENABLE = 15, D3DRS_LASTPIXEL = 16, D3DRS_SRCBLEND = 19, D3DRS_DESTBLEND = 20, D3DRS_CULLMODE = 22, D3DRS_ZFUNC = 23, D3DRS_ALPHAREF = 24, D3DRS_ALPHAFUNC = 25, D3DRS_DITHERENABLE = 26, D3DRS_ALPHABLENDENABLE = 27, D3DRS_FOGENABLE = 28, D3DRS_SPECULARENABLE = 29, D3DRS_ZVISIBLE = 30, D3DRS_FOGCOLOR = 34, D3DRS_FOGTABLEMODE = 35, D3DRS_FOGSTART = 36, D3DRS_FOGEND = 37, D3DRS_FOGDENSITY = 38, D3DRS_EDGEANTIALIAS = 40, D3DRS_ZBIAS = 47, D3DRS_RANGEFOGENABLE = 48, D3DRS_STENCILENABLE = 52, D3DRS_STENCILFAIL = 53, D3DRS_STENCILZFAIL = 54, D3DRS_STENCILPASS = 55, D3DRS_STENCILFUNC = 56, D3DRS_STENCILREF = 57, D3DRS_STENCILMASK = 58, D3DRS_STENCILWRITEMASK = 59, D3DRS_TEXTUREFACTOR = 60, D3DRS_WRAP0 = 128, D3DRS_WRAP1 = 129, D3DRS_WRAP2 = 130, D3DRS_WRAP3 = 131, D3DRS_WRAP4 = 132, D3DRS_WRAP5 = 133, D3DRS_WRAP6 = 134, D3DRS_WRAP7 = 135, D3DRS_CLIPPING = 136, D3DRS_LIGHTING = 137, D3DRS_AMBIENT = 139, D3DRS_FOGVERTEXMODE = 140, D3DRS_COLORVERTEX = 141, D3DRS_LOCALVIEWER = 142, D3DRS_NORMALIZENORMALS = 143, D3DRS_DIFFUSEMATERIALSOURCE = 145, D3DRS_SPECULARMATERIALSOURCE = 146, D3DRS_AMBIENTMATERIALSOURCE = 147, D3DRS_EMISSIVEMATERIALSOURCE = 148, D3DRS_VERTEXBLEND = 151, D3DRS_CLIPPLANEENABLE = 152, D3DRS_SOFTWAREVERTEXPROCESSING = 153, D3DRS_POINTSIZE = 154, D3DRS_POINTSIZE_MIN = 155, D3DRS_POINTSPRITEENABLE = 156, D3DRS_POINTSCALEENABLE = 157, D3DRS_POINTSCALE_A = 158, D3DRS_POINTSCALE_B = 159, D3DRS_POINTSCALE_C = 160, D3DRS_MULTISAMPLEANTIALIAS = 161, D3DRS_MULTISAMPLEMASK = 162, D3DRS_PATCHEDGESTYLE = 163, D3DRS_PATCHSEGMENTS = 164, D3DRS_DEBUGMONITORTOKEN = 165, D3DRS_POINTSIZE_MAX = 166, D3DRS_INDEXEDVERTEXBLENDENABLE = 167, D3DRS_COLORWRITEENABLE = 168, D3DRS_TWEENFACTOR = 170, D3DRS_BLENDOP = 171, D3DRS_POSITIONORDER = 172, D3DRS_NORMALORDER = 173, D3DRS_FORCE_DWORD = 0x7fffffff } D3DRENDERSTATETYPE;
D3DRS_ZENABLE - тип буфера глубины берется из перечисляемого типа D3DZBUFFERTYPE. Если Вы установите флажок D3DZB_TRUE, то это разрешит использовать z-буферизацию, если D3DZB_USEW, то разрешит использовать w-буферизацию и если D3DZB_FALSE - то отключает поддержку глубины буфера.
По умолчанию это значение установлено в состояние D3DZB_TRUE, если, конечно, до этого был создан трафарет буфера при помощи EnableAutoDepthStencil имеющий значение TRUE и установлен также формат из структуры D3DPRESENT_PARAMETERS. В противном случае устанавливается значение D3DZB_FALSE.
D3DRS_FILLMODE - использует перечисляемый тип D3DFILLMODE. По умолчанию он равен D3DFILL_SOLID.
D3DRS_SHADEMODE - использует перечисляемый тип D3DSHADEMODE. По умолчанию он равен D3DSHADE_GOURAUD.
D3DRS_CULLMODE - определяет способ отображения задней стороны треугольника. Можно установить при помощи параметров перечисяемого типа D3DCULL. По умолчанию он равен D3DCULL_CCW.
D3DRS_LIGHTING - значение TRUE включает свет в Direct3D, FALSE - наоборот выключает. По умолчанию значение равно TRUE. Только для вершин содержащих нормаль может правильно расcчитываться освещение. Вершины, у которых нет нормали по умолчанию 0 для всех вычислений освещения.
D3DRS_AMBIENT - подстветка света. Это значение использует тип D3DCOLOR. По умолчанию он равен 0.
Для удобства Direct3D определяет константы D3DRENDERSTATE_WRAPBIAS, чтобы приложениям разрешить или запретить накладывать текстуру, которые применяют только целые числа (скорее всего используют одно из значений состояния устройства D3DRS_WRAPn). Добавьте значение D3DRENDERSTATE_WRAPBIAS к нулевому индексу координат текстур, чтобы вычислить значение D3DRS_WRAPn, которое соответствует индексу показанного в следующем примере:
// Разрешает обертывать (накладывать) текстуру при помощи // U/V - используется только для текстур устанавливает // координаты для индекса в пределах значения dwIndex HRESULT hr = pd3dDevice->SetRenderState( dwIndex + D3DRENDERSTATE_WRAPBIAS, D3DWRAPCOORD_0 | D3DWRAPCOORD_1); // Если dwIndex равен 3, то результат значения должен // равняться D3DRS_WRAP3 (131).
Заголовки: объявить D3d8types.h.
См. раздел Direct3D: "Шаг 13 - Вращаем разноцветный трехмерный треугольник", "Шаг 14 - Используем буфер глубины (Z-буфер)".