Введение в программирование трехмерных игр с DX9



         

Окно с изображением текстурированого квадрата, полученное в приложении TexQuad - часть 2


Quad->Unlock();

// Загрузка данных текстуры D3DXCreateTextureFromFile( Device, "dx5_logo.bmp", &Tex);

// Разрешаем текстурирование Device->SetTexture(0, Tex);

// Устанавливаем фильтры текстуры Device->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); Device->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); Device->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_POINT);

// Задаем матрицу проекции D3DXMATRIX proj; D3DXMatrixPerspectiveFovLH( &proj, D3DX_PI * 0.5f, // 90 градусов (float)Width / (float)Height, 1.0f, 1000.0f); Device->SetTransform(D3DTS_PROJECTION, &proj);

// Не использовать в этом примере освещение Device->SetRenderState(D3DRS_LIGHTING, false);

return true; }

Теперь мы можем визуализировать наш квадрат обычным способом и на его будет наложена указанная текстура:

bool Display(float timeDelta) { if (Device) { Device->Clear(0, 0, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0xffffffff, 1.0f, 0); Device->BeginScene();

Device->SetStreamSource(0, Quad, 0, sizeof(Vertex)); Device->SetFVF(Vertex::FVF);

// Рисуем примитив с наложением указанной текстуры Device->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 2);

Device->EndScene(); Device->Present(0, 0, 0, 0); } return true; }




Содержание  Назад  Вперед