Не удалось выполнить рендеринг в программировании DirectX.C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Не удалось выполнить рендеринг в программировании DirectX.

Сообщение Anonymous »


Для справки: я студент, который только начал изучать программирование игр с использованием C++ и D3DX. Итак, когда я работал с объектно-ориентированной структурой в своем коде, я столкнулся с некоторой проблемой, связанной с рендерингом текстуры в моем домашнем задании.

Как показано ниже:

//Source.cpp #include "MainMenu.h" интервал основной() { Окно* wnd = новое окно(); D3DX* DirectX = новый D3DX(); DirectInput* dInput = новый DirectInput(); stack gsm; винд->createWnd(); DirectX->createD3DX(wnd); dInput->createDInput(wnd); gsm.push(новое ГлавноеМеню()); gsm.top()->init(directX); while (wnd->wndIsRunning()) { gsm.top()->getInput(dInput); gsm.top()->обновление(dInput); gsm.top()->render(directX, dInput); } dInput->cleanupDInput(); DirectX->cleanupD3DX(); внд->cleanupWnd(); вернуть 0; } //GameState.cpp #include "GameState.h" void GameState::getInput(ввод DirectInput*) { ввод->getDInput(); } void GameState::render(D3DX* DirectX, ввод DirectInput*) { DirectX->getDevice()->Очистить(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0); DirectX->getDevice()->BeginScene(); DirectX->getBrush()->Начать(D3DXSPRITE_ALPHABLEND); D3DXVECTOR3 mousePos = input->getMousePosition(); //cout Draw(directX->getCursorTexture(), NULL, NULL, &mousePos, D3DCOLOR_XRGB(255, 255, 255)); DirectX->getBrush()->End(); } //D3DX.cpp #include "D3DX.h" bool D3DX::createD3DX(Окно* wnd) { IDirect3D9* Direct3D9 = Direct3DCreate9(D3D_SDK_VERSION); D3DPRESENT_PARAMETERS d3dPP; ZeroMemory(&d3dPP, sizeof(d3dPP)); d3dPP.Windowed = isWindow; d3dPP.SwapEffect = D3DSWAPEFFECT_DISCARD; d3dPP.BackBufferFormat = D3DFMT_X8R8G8B8; d3dPP.BackBufferCount = 1; d3dPP.BackBufferWidth = wnd->getWidth(); d3dPP.BackBufferHeight = wnd->getHeight(); d3dPP.hDeviceWindow = wnd->getHandle(); hr = Direct3D9->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, wnd->getHandle(), D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dPP, &d3dDevice); если (FAILED(hr)) { cout
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»