И это выдержка из книги, на веб странички какогонибуть Васи Пупкина можно лудше найти.
Особено мне понравилось:
while(GetMessage(&msg, 0, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
Черезвычайно эфиктивный и удобный метод рендеринга:
case WM_PAINT:
{
PAINTSTRUCT ps;
BeginPaint(hWnd, &ps);
g_App.Render();
EndPaint(hWnd, &ps);
return 0;
}
В методе Rende этому самое место:
// создаем источник света
D3DLIGHT9 light=
{ D3DLIGHT_DIRECTIONAL, // бесконечно удаленный источник
{1,1,0,0}, // диффузное освещение: желтый цвет
{0,0,0,0},
{0.1f,0.1f,0.1f,1}, // рассеянный свет: тусклый белый
{0,0,0},
{7,-2,1} // вектор направления
} ;
pDevice->SetLight( 1, &light ) ;
pDevice->LightEnable( 1, TRUE ) ;
// создаем материал
D3DMATERIAL9 material = {
{1,1,1,1}
, {1,1,1,1}
, {1,1,1,1}
, {0,0,0,0}
, 1
} ;
pDevice->SetMaterial( &material ) ;
Вот изврощение.