Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DirectX.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
1.15 Mб
Скачать

Цикл обработки сообщений

Перед нашей главной и глобальной функцией WinMain должна быть еще одна функция, MsgProc. Это так называемся CallBack функция, и Windows вызывает её даже самостоятельно, когда ей это потребуется. Что же касается наполнения функции MsgProc то в неё приходят различные сообщения Windows, и нужно на это как то реагировать. В дальнейшем внутрь неё вы конечно же вставите обработку клавиш «вперед, назад, влево вправо» а также обязательно «пробел» или «ctrl» для того, чтобы эффективно и быстро нажав на них уничтожать ваших ненавистных 3d– монстров из плазмомета.

LRESULT CALLBACK WndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )

{

    PAINTSTRUCT ps;

    HDC hdc;

 

    switch( message )

    {

        case WM_PAINT:

            hdc = BeginPaint( hWnd, &ps );

            EndPaint( hWnd, &ps );

            break;

 

        case WM_DESTROY:

            PostQuitMessage( 0 );

            break;

 

        default:

            return DefWindowProc( hWnd, message, wParam, lParam );

    }

 

    return 0;

}

Кстати, как бонус, можно рассказать собственно как обрабатывать указанные выше клавиши, для этого нужно немного изменить пример. Скачать измененный пример можно тут.

На этом наше первое приложение завершено, с чем мы можем поздравить себя а также будущих пользователей наших Direct3D программ.

Обзор приложения

Теперь остается только скомпилировать и запустить приложение.  Исходный код приложения вы можете скачать тут. Не забываем, что в системе должен быть установлен DirectX версии не ниже 11. В текущих версиях Windows, например Windows 7, а также Windows 8 всё уже установлено, так что заботиться об установке DirectX не надо, и наше приложение успешно запуститься на них и будет прекрасно функционировать.

Данное приложение всего-лишь отображает поверхность, заполненную зеленым цветом. Однако, если это произошло, то это значит что все ок, и это не мало, так как мы создали окно, инициализировали DirectX, очистили поверхность окна синим цветом, вообщем, сделали достаточно для того, чтобы приступать к отображению чего-то трехмерного, чем и займемся в дальнейших уроках.

Дополнение к уроку. Настройка среды разработки

Помните, что для того чтобы работать с DirectX11 для начала нужно установить MicrosoftDirectXSDK. Для того, чтобы работать с файлами .cpp в MicrosoftVisualC++ нужно либо открыть существующий проект, либо создать новый. Если вы решите создать новый проект DirectX11 на основе существующих файлов C++, то необходимо воспользоваться следующей процедурой.

  1. Открыть MicrosoftVisualC++ 2010

  2. Выбрать пункт меню «Файл->Создать->Проект из существующего кода»

Далее нужно выбрать папку проекта, в этой папке уже должны быть будут .cpp файлы, назначить имя проекта, например, MyProject1и далее нажать копку «Создать».

VisualC++ создаст проект, при этом в обозревателе решений будет ваш проект MyProject1. В нем будут следующие папки:

  1. Header Files

  2. Resource Files

  3. Source Files

  4. Внешние зависимости

Прежде всего, убедитесь что в папке «SourceFiles» расположен ваш код .cpp. После этого нужно настроить собственно проект. Для этого нужно нажать в обозревателе решений на MyProject1, то есть перейти на проект, и затем выбрать в меню «Проект->Свойства».

После этого нужно нажать на «Свойства конфигурации».

Обратите внимание, что существует несколько конфигураций: Debug, Release и Все конфигурации. Перед любым дальнейшим изменением выберите в выпадающем списке конфигурации «все конфигурации». Это нужно сделать обязательно, иначе опции, которые вы будете устанавливать применятся не ко всему, а к чему-то отдельному, что будет мешать. Итак, настроим наш проект.

  1. Во вкладке «Общее» выберите «Набор символов->Использовать набор символов Юникода»

  2. Во вкладке «Каталоги VC++» выберите «Каталоги включения», далее добавьте следующий элемент (нужно впечатать текст, который идет далее): $(DXSDK_DIR)Include

  3. Во вкладке «Каталоги VC++» выберите «Каталоги библиотек», далее добавьте следующий элемент (нужно впечатать текст, который идет далее): $(DXSDK_DIR)Lib\x86

Во вкладке «Компоновщик» выберите пункт «Ввод», затем добавьте следующий список:

d3d11.lib

d3dcompiler.lib

d3dx11d.lib

d3dx9d.lib

dxerr.lib

dxguid.lib

winmm.lib

comctl32.lib

Итак, на этом конфигурация MiscrosoftVisualC++ завершена и можно редактировать код C++ вашего проекта. Чтобы вы поняли, для чего нужны были настройки, описанные выше, можно пару слов сказать о них. Самое главное, что мы сделали это прописали пути к файлам Include а также пути к библиотекам Lib. Однако все те библиотеки, которые есть в Lib, либо часть из них, еще нужно подключить к проекту. Для этого и нужно было прописывать список файлов с расширением lib – тем самым, мы подключили библиотеки .Lib к проекту.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]