ПРОГРАМИРУЕМ 3D ГРАФИКУ ИСПОЛЬЗУЯ DirectX



Наше первое трехмерное - часть 2


2. Исключите из проекта файлы для классов вида и документа. В моем случае эти файлы назывались BasicDoc.h, BasicDoc.cpp, BasicView.h и BasicView.cpp. Файлы следует удалить как из проекта, так и из рабочего каталога.

3. Аналогичным образом удалите файлы главного окна (обычно они называются MainFrm.h и MainFrm.cpp). Остаются два файла на C++: Basic.cpp и StdAfe.cpp.

4. Отредактируйте исходные файлы и уберите из них любые ссылки на заголовочные файлы классов документа, вида или главного окна. Обычно в этот момент я также удаляю некоторые ресурсы (скажем, окно диалога About), ненужные меню, строковые таблицы, однако большую часть этой работы можно проделать и позднее.

5. В файл StdAfx.h добавьте директивы для включения файлов mmsystem.h и d3drmwin.h. Заголовочный файл mmsystem используется в функциях для работы с джойстиком, которые понадобятся нам позднее, а в файле d3drmwin определяются все функции Direct3D.

'l&lfc Построение приложения с самого начала ЩЦ 19

BOOL CBasicApp::Initlnstance() {

// Создать главное окно C3dWnd* pWnd = new C3dWnd;

pWnd->Create("3D Basics",

WS_OVERLAPPEDWINDOW ¦ WS_VISIBLE,

50, 50,

400, 350);

m pMainWnd = pWnd;

pWnd->UpdateWindow() ;

// Создать исходный макет, к которому // будут присоединяться объекты static C3dScene scene;

scene.Create () ;

// Установить интенсивность рассеянного света scene.SetAmbientLight(0.4, 0.4, 0.4);

// Добавить направленный источник света для создания бликов static C3dDirLight dl;

dl.Create(0.8, 0.6, 0.8);

scene.AddChild(Sdl) ;

dl.SetPosition(-2, 2, -5);

dl.SetDirectionfl, -1, 1);

// Создать большую белую сферу static C3dShape shi;

shi.CreateSphere (1) ;

// Присоединить к макету большую белую сферу scene.AddChild(Sshl) ;

// Создать маленькую синюю сферу static C3dShape sh2;

sh2.CreateSphere(0.3) ;

sh2.SetColor(0, 0, 1);

// Присоединить синюю сферу к белой shl.AddChild(&sh2) ;

// Задать положение синей сферы // по отношению к белой sh2.SetPosition (О, О, -2);

// Создать маленькую красную сферу static C3dShape sh3;




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