Составители:
Рубрика:
28
RECT r;
SetRect(&r, 0, 0, iWidth, iHeight);
pD3DDevice->Clear(1, (D3DRECT*)&r, D3DCLEAR_TARGET,
D3DCOLOR_XRGB(ViewAngle,255, 0), 1.0, 0);
pD3DDevice->BeginScene();
DrawScene();
pD3DDevice->EndScene();
pD3DDevice->Present(NULL, NULL, 0, NULL);
break;
Сначала сцена очищается с помощью метода clear. В данном примере мы
будем рассматривать альфа- смешивание, при котором цвет фона должен быть
темным. Если вы выберете белый цвет, то после смешения фигуры будут белыми
и сольются с фоном. Между вызовами методов BeginScene и EndScene вызывается
функция DrawScene, в которой и происходит формирование сцены.
void DrawScene()
{
// Включаем альфа-смешивание
pD3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, 1);
pD3DDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE);
pD3DDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE);
// Поворачиваем треугольник
float b = float((ViewAngle++)%0x1111) /24;
D3DMATRIX World = {
cos(b), -sin(b), 0, 0,
sin(b), cos(b), 0, 0,
0, 0, 1, 0,
0, 0, 0, 1,
};
pD3DDevice->SetTransform(D3DTS_WORLD, &World);
//Устанавливаем вершинный формат
pD3DDevice->SetStreamSource(О, vTriangleBuffer, 0,
sizeof(sVertex));
pD3DDevice->SetVertexShader(NULL);
pD3DDevice->SetFVF(D3DFVF_XYZ|D3DFVF_DIFFUSE);
// Отображаем треугольник
pD3DDevice->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 1);
// Поворачиваем прямоугольник
D3DMATRIX Worldl = {
cos(-b), -sin(-b), 0, 0,
sin(-b), cos(-b), 0, 0,
0, 0, 1, 0,
0, 0, 0, 1,
};
RECT r; SetRect(&r, 0, 0, iWidth, iHeight); pD3DDevice->Clear(1, (D3DRECT*)&r, D3DCLEAR_TARGET, D3DCOLOR_XRGB(ViewAngle,255, 0), 1.0, 0); pD3DDevice->BeginScene(); DrawScene(); pD3DDevice->EndScene(); pD3DDevice->Present(NULL, NULL, 0, NULL); break; Сначала сцена очищается с помощью метода clear. В данном примере мы будем рассматривать альфа- смешивание, при котором цвет фона должен быть темным. Если вы выберете белый цвет, то после смешения фигуры будут белыми и сольются с фоном. Между вызовами методов BeginScene и EndScene вызывается функция DrawScene, в которой и происходит формирование сцены. void DrawScene() { // Включаем альфа-смешивание pD3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, 1); pD3DDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE); pD3DDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE); // Поворачиваем треугольник float b = float((ViewAngle++)%0x1111) /24; D3DMATRIX World = { cos(b), -sin(b), 0, 0, sin(b), cos(b), 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }; pD3DDevice->SetTransform(D3DTS_WORLD, &World); //Устанавливаем вершинный формат pD3DDevice->SetStreamSource(О, vTriangleBuffer, 0, sizeof(sVertex)); pD3DDevice->SetVertexShader(NULL); pD3DDevice->SetFVF(D3DFVF_XYZ|D3DFVF_DIFFUSE); // Отображаем треугольник pD3DDevice->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 1); // Поворачиваем прямоугольник D3DMATRIX Worldl = { cos(-b), -sin(-b), 0, 0, sin(-b), cos(-b), 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }; 28
Страницы
- « первая
- ‹ предыдущая
- …
- 24
- 25
- 26
- 27
- 28
- …
- следующая ›
- последняя »