Содержание

Листинг программы:

// Макрос для включения поддержки Windows NT 4.0 и выше:

#define _WIN32_WINNT 0x0400

/* Заголовочные файлы: */

#include

#include

#include

#include "windows.h"

#include "windowsx.h"

#include "comip.h"

#include "d3d9.h"

#include "d3dx9.h"

#include "D3d9types.h"

/* Библиотечные файлы DirectX: */

#pragma comment (lib, "d3d9.lib")

#pragma comment (lib, "d3dx9.lib")

/* Библиотечный файл для поддержки интеллектуального указателя _com_ptr_t: */

#pragma comment(lib, "comsuppw.lib")

Выдержка из текста

Код создания цилиндра:

{

// Матрица мирового преобразования:

const D3DXMATRIX worldMatrix = MatrixIdentity() * Scale(1.2, 1.1, 1) * RotX(10.2) * RotY(20.2) * RotZ(-24.8) * Trans(-4.9, 1.5, -2.6);

const shared_ptr ptr(new Cylinder(

device, // устройство вывода

8.3, // высота

2.5, // радиус

worldMatrix, // матрица мирового преобразования

L"MyTexture.bmp" // путь к файлу текстуры

));

vecGraphObjects.push_back(ptr);

}

Список использованной литературы

InitD3D(hWnd);

/* Главный цикл обработки оконных сообщений: */

MSG msg = { 0 };

while (true)

{

while (PeekMessage(&msg;, NULL, 0, 0, PM_REMOVE))

{

TranslateMessage(&msg;);

DispatchMessage(&msg;);

}

if (msg.message == WM_QUIT)

break;

RenderFrame(hWnd);

}

}

catch (const std::exception& err)

{

::MessageBoxA(NULL, err.what(), "Ошибка в 'WinMain'", MB_ICONERROR | MB_OK);

}

catch (…)

{

::MessageBox(NULL, L"Неизвестная ошибка", L"Ошибка в 'WinMain'", MB_ICONERROR | MB_OK);

}

return 0;

}

Похожие записи