Дата создания: 2009-03-31 15:25:43
Последний раз редактировалось: 2012-02-08 08:19:22
-
Ссылки на программы:
- DirectX End-User Runtimes (directx для запуска игр) июнь 2010. Скачать (95 мегабайт).
- DirectX SDK (directx для программирования) июнь 2010. Скачать (2 мегабайта).
DirectX — набор библиотек, предназначенных прежде всего для вывода графики.
Для того чтобы писать программы, в которых используется DirectX, нужно установить Directx sdk. Для запуска программ написанных с использованием DirectX, необходимо установить directx end-user runtimes. В данном уроке мы рассмотрим установку обоих компонентов.
Для разных версий DirectX используются одни и те же файлы: DirectX 9.0c на Windows XP, DirectX 10 на Windows Vista и DirectX 11 на Windows 7 — для всех этих версий подходят одни и те же установочные файлы. Т.е. для всех версий Windows нужен один и тот же архив с установочными файлами DirectX End-User Runtimes или DirectX SDK.
Установка DirectX End-User Runtimes (directx для запуска игр)
Для запуска игр и программ, написанных с использованием библиотеки Directx нужно установить directx end-user runtimes.
На вашем компьютере уже установлена одна из версий DirecX end-user runtimes. Для программ, которые мы будем создавать, вполне достаточно и старых версий, и если вам не нужна последняя версия DirectX end-user runtimes, можете переходить к следующему пункту.
Последняя на данный момент (июль 2010) версия directx end-user runtimes вышла в июне 2010г. Найти последнюю версию можно на диске с какой-нибудь недавно вышедшей игрой или скачать по ссылке в начале урока.
После того как вы скачали и запустили файл directx_jun2010_redist.exe, появится окно с лицензионным соглашением:
После нажатия на кнопку Yes, нужно будет ввести путь к временной папке, куда будет распакован архив:
После того как архив распаковался, нужно перейти в указанную вами временную папку и запустить файл DXSETUP.exe. Откроется вот такое окно:
Теперь нужно нажать два раза Далее и начнётся установка.
Всё. С установкой DirectX end-user runtimes мы закончили. Теперь, для того чтобы создавать программы, использующие возможности directx, нужно установить directx sdk. Но сначала небольшой урок истории:
Немного истории directx sdk
Прежде чем приступать к чтению уроков из данного раздела (DirectX), вы должны были изучить большую часть материалов из раздела C++. Скорее всего у вас возник ряд вопросов. И самый главный из них: как используя изученный материал, начать создавать свою игру? Ниже я попытаюсь ответить на него. По крайней мере, вы узнаете теорию. Практикой же мы займёмся позже.
До сих пор наши программы работали в досовской консоли. При этом мы использовали язык C++.
C++ — это основа. Не зная этого языка, вы не сможете создать какую-нибудь игру. Конечно адепты Паскаля, Бейсика или Фортрана (если такие есть :)) могут возразить, что на этих языка тоже можно создавать о-го-го какие игры. Только о-го-го какими, они были в середине восьмидесятых. Тогда, да, они выглядели очень круто.
Сейчас я расскажу вам очень важную вещь. Она простая, и возможно вы её уже знаете. По крайней мере, если бы кто-нибудь объяснил мне это лет десять назад, возможно вся моя жизнь сложилась бы по-другому.
Итак: «у компьютеров есть слои» (С) Шрек. 🙂 Извините, не сдержался.
У компьютеров есть уровни. Самый низкий уровень — уровень физических элементов (транзисторы и провода). Самый высокий (из тех, что мы пока знаем) — это язык C++. Именно поэтому он называется языком высокого уровня. Между этими уровнями расположено ещё несколько: микроархитектурный уровень (на этом уровне идёт общение с процессором), уровень операционной системы, уровень языка ассемблера (ассемблер — язык низкого уровня).
Когда мы начинаем выполнение программы, команды на языке C++ переводятся на более низкие уровни. На самом нижнем уровне эти команды выполняются непосредственно электрическим сигналом. Одна команда более высокого уровня может состоять из нескольких команд более низкого.
Для простоты понимания, считайте, что каждая команда более высокого уровня состоит из нескольких команд более низкого. Т.е. более высокий уровень — это всего лишь абстракция над более низким.
В конце восьмидесятых — начале девяностых не существовало (точнее они ещё не получили широкого распространения) более высоких абстракций (уровней) чем язык программирования. В нашем случае — это C. Все приложения писались на языке высокого уровня: Pascal, C, Fortran. Создание графики и графических приложений происходило непосредственно на языке высокого уровня.
Тут что надо заметить! Большинство языков программирования высокого уровня обладают примерно равными возможностями. Будь то Pascal, Java или С++. Понятно, что у некоторых этих возможностей побольше, у других поменьше. Но у них много общего: у всех есть циклы и ветвления, функции, переменные.
Ходят слухи, что изучить C++ намного сложнее, чем Pascal или другие языки программирования. Надеюсь, что изучая материал из раздела C++, вы убедились, что это не так.
На мой взгляд, распространённое мнение о сложности C++ — это результат наглой и бессовестной диверсии со стороны адептов Delphi! На самом деле Pascal намного сложнее в изучении. Вы только подумайте, они вместо скобочек < >используют begin и end . А как они выполняют присваивание — оператором := (да-да, двоеточие и знак равенства). Короче, настоящий дурдом!
Когда появились видеоускорители, программистам приходилось писать отдельный код для каждого. Зайдите в любой интернет-магазин торгующий видеокартами и представьте, что Вам пришлось бы писать отдельный код для каждой видеокарты. В общем, перед программистами появилась серьёзная проблема.
В середине девяностых очень быстро начала распространяться операционная система Windows. Первоначально Windows была написана на C (не на C++, нет. Т.е. там не было классов). Windows до сих пор использует часть старого кода. Когда мы начнём создавать приложения под Windows, мы познакомимся с ещё более высоким уровнем — WinAPI (Windows API). WinAPI используют все приложения под Windows.
WinAPI (API — Application Programming Interface. Интерфейс программирования приложений) — представляет собой набор функций и структур, написанных на C.
В Windows использовалась (и используется) своя система вывода графики. Называется она — GDI (расшифровывается как Graphical Device Interface — интерфейс графического устройства, а не Global Defence Initiative как мог подумать особо проницательный и эрудированный читатель).
GDI в силу особенностей WinAPI не годилась для создания игр. Потому что GDI — оооочеееень меееедлеееннаааааяяя. Кстати, если заглянуть на форумы приспешников Delphi, можно обнаружить, что многие пытаются создавать игры с использованием GDI. Я же говорю, это больные люди. Так вот, разработчики игр не спешили создавать игры под Windows, им было привычнее работать под старой доброй DOS.
И тогда Microsoft создаёт DirectX. Первая версия была полным отстоем. Но время шло, и DirectX становился всё более надёжным. В новой операционной системе Windows 7 уже будет доступна одиннадцатая версия.
Мы будем разбирать примеры для девятой версии. Отличия между девятой и десятой существенные. Возможно, в будущем мы рассмотрим и десятую, хотя скорее всего, сразу перейдём на одиннадцатую.
Что же из себя представляет DirectX. Это высокоуровневая API, которая написана на С++, с использованием технологии COM (Component Object Model — компонентная модель объектов. Мы её кратко рассмотрим). DirectX предназначена для работы с драйверами видеокарт. Для каждой видеокарты создаются драйвера (язык команд, которые понимает видеокарта). Программисту больше не нужно писать отдельный код для каждого драйвера каждой видеокарты. Ему нужно только знать API DirectX. Всю низкоуровневую работу (взаимодействие с драйверами) берёт на себя DirectX.
Справедливости ради, нужно сказать, что существует ещё одна популярная библиотека — OpenGL. Принцип работы — примерно тот же: программист работает с API, а сама OpenGl работает с драйверами. Неоспоримое преимущество OpenGL — мультиплатформенность. Т.е. OpenGL будет работать на всех операционных системах. DirectX работает только на Windows. Преимущества DirectX мы рассмотрим позднее (а они есть, и они, на мой взгляд, гораздо существеннее).
Для того чтобы запускать программы, написанные с использованием DirectX, вам необходим DirectX End-User Runtimes (мы его установили в предыдущем пункте).
Чтобы писать приложения, использующие DirectX, нужно скачать DirectX SDK (Software Development Kit — набор инструментов разработки приложений).
У Вас на выбор два варианта установки directx sdk:
1. Скачивание DirectX SDK с сайта Microsoft. При этом Вы скачаете полный вариант со всеми примерами, документацией и дополнительными инструментами. Размер архива — примерно 580 мегабайт. При установке DirectX SDK займёт больше гигабайта.
2. Скачивание DirectX SDK с вашего любимого сайта (ссылка в начале урока). При этом Вы скачаете урезанный мной вариант, в котором я оставил только библиотечные/заголовочные файлы и один пример. Размер архива — 2 мегабайта (два мегабайта. ). Что называется, прочувствуй разницу! При установке, DirectX SDK займёт двадцать семь мегабайт.
Внимание:
Если вы переустанавливаете DirectX SDK, то обязательно удалите предыдущую версию (через Установку и удаление программ). Устанавливать новую версию DirectX SDK поверх старой крайне нежелательно. Это замечание касается только полной версии DirectX SDK. Для урезанной версии достаточно заменить папки lib и include.
Установка directx sdk с сайта Microsoft
И щёлкаем на ссылку — Get The Latest DirectX SDK или June 2009 DirectX SDK Now Available (последняя на данный момент версия вышла в июне).
Откроется страница, с которой можно скачать последнюю на данный момент версию DirectX SDK — от девятого августа.
Итак, на следующей странице нажимаете на кнопку Download. Появится диалог сохранения файла и начнётся скачивание directx sdk:
Кстати, в одной из последних версий DirectX были добавлены технические обзоры двух новых технологий, которые будут использоваться в DirectX 11: Direct2D и DirectWrite. Если знаете английский, обязательно посмотрите соответствующие разделы в MSDN: Direct2d и DirectWrite . Я когда готовил урок, два часа в документации просидел. Жалко, что протестировать не удалось. Думаю, в будущем мы обязательно будем обсуждать данные технологии в рассылке.
После скачивания установочного файла запускаем его. Дальнейший процесс щёлканья на кнопку «Next» я проиллюстрирую картинками:
Далее начнётся установка.
Скачать и установить DirectX SDK с сайта
Тут всё намного проще и быстрее. Щёлкаете по ссылке, расположенной в начале урока. Или в разделе Листинги и программы ищете «DirectX SDK», загружаете файл на свой компьютер и распаковываете. У себя я распаковал архив в корневой каталог диска D. В итоге установочная папка выглядит так: D:directx
Небольшое замечание: я много чего вырезал, чтобы уменьшить архив. В будущем, Вам нужно будет скачать ещё несколько файлов, о чём будет сообщено дополнительно. Они тоже будут небольшими.
После установки directx sdk
Напоследок давайте посмотрим, как оно работает.
Для того чтобы во время выполнения программы работали библиотеки DirectX, в программу нужно включить соответствующие заголовочные файлы. Кроме того необходимы библиотечные файлы. Что это такое? Мы с ними пока не сталкивались. Как мы знаем, в заголовочных файлах хранятся объявления функций. Тела функций обычно хранятся в другом месте. В уроке по многофайловым программам мы хранили тела функций в отдельных исходных файлах. В случае если вы приобретаете библиотеку функций и классов у кого-нибудь, вы получаете заголовочные файлы (где хранятся объявления) и библиотечные файлы (где хранятся определения). Библиотечные файлы имеют расширение .lib.
В данный момент IDE не знает о существовании DirectX. Нам нужно сообщить, где IDE Visual C++ 2008 должна искать заголовочные и библиотечные файлы.
Откройте пункт меню Tools → Options (Сервис → Параметры).
В левой части открывшегося окна выберите Projects and Solutions → VC++ Directories (Проекты и решения → Директории VC++):
В правой части в выпадающем списке Show directories for (Показать директории для:) выберите Include files (Включаемых файлов, за точное имя пункта на русском не ручаюсь, он там второй). Затем из панели инструментов выберите New Line (Новая строка) или щёлкните Ctrl+Ins. Для более наглядной иллюстрации смотрите картинку. Появится новая строка. Щёлкните на кнопку с тремя точками в конце строки
Откроется окно выбора директории. Перейдите в папку, где у вас установлен DirectX. И выберите папку Include.
Теперь в выпадающем списке (где вы выбирали Include files) выберите Library files (библиотечные файлы) и повторите операцию добавления строки. Только теперь выберите папку Lib/x86 если у Вас 32-ух разрядная операционная система или Lib/x64 если 64-ёх разрядная. Иногда, при использовании 64-битных библиотек, во время запуска программ возникают ошибки, поэтому, если программа, использующая DirectX, у вас не запустилась, вернитесь к этому окну и для поля Library files выберите папку Lib/x86.
Нажимаем OK. Теперь IDE знает, где искать заголовочные и библиотечные файлы DirectX SDK.
Запуск приложения
Теперь открываем проект File — Open — Project/Solution или щёлкаем Ctrl+Shift+O.
Если вы загружали SDK с сайта Microsoft, то пример находится в папке (D:directx — папка, куда я установил свою версию):D:directxSamplesC++Direct3DTutorialsTut01_CreateDevice
Если вы загружали SDK с моего сайта, проект можно найти по адресу (D:directx — папка, куда я установил свою версию): D:directxSamplesTut01_CreateDevice
В папке лежат два решения: для Visual C++ 2005 и для Visual C++ 2008. Выберите решение, соответствующее вашей версии Visual C++.
Теперь нажимаем Ctrl+Alt+F7 и F5.
Вот она. Первая программа использующая DirectX.
Прежде чем закрывать IDE, давайте взглянем на код.
В обозревателе решений выберите файл CreateDevice.cpp. Если вы бегло просмотрите весь файл, то скорее всего ничего не поймёте.
Как это ни удивительно :), но структура программы очень похожа на то, что мы уже создавали: директивы #include, функции InitD3D(), CleanUp(), Render(), MsgProc().
Функция wWinMain — аналог main. С неё начинается выполнение программы в Windows.
В строках объявления переменных:
LPDIRECT3D9 g_pD3D = NULL; // Used to create the D3DDevice
LPDIRECT3DDEVICE9 g_pd3dDevice = NULL; // Our rendering device
Встречаются новые типы. На самом деле они переопределены с помощью typedef (который мы уже рассматривали) из стандартных типов.
Кое-что нам не знакомо:
g_pD3D->CreateDevice
Здесь, g_pD3D — объект, а CreateDevice() — метод. Почему используется синтаксис -> вместо привычной для нас точки мы узнаем в одном из следующих уроков.
Да, здесь используется много новых типов, много новых функций, но всё же за всей этой мишурой можно угадать уже привычный (надеюсь, что это действительно так) для нас C++.
games maker Все о создании игр и не только
- Форум
- Книги
- Новости
- Контакты
17 июля 2011 в 21:26
Установка DirectX SDK и directx end-user runtimes
Ссылки на программы:
DirectX End-User Runtimes (directx для запуска игр) август 2009. Скачать (108 мегабайт).
DirectX SDK (directx для программирования) август 2009. Скачать (2 Мб)
Установка DirectX SDK и directx end-user runtimes
DirectX — набор библиотек, предназначенных прежде всего для вывода графики.
Для того чтобы писать программы, в которых используется DirectX, нужно установить Directx sdk. Для запуска программ написанных с использованием DirectX, необходимо установить directx end-user runtimes. В данном уроке мы рассмотрим установку обоих компонентов.
Для разных версий DirectX используются одни и те же файлы: DirectX 9.0c на Windows XP, DirectX 10 на Windows Vista и DirectX 11 на Windows 7 — для всех этих версий подходят одни и те же установочные файлы.
Установка DirectX End-User Runtimes (directx для запуска игр)
Для запуска игр и программ, написанных с использованием библиотеки Directx нужно установить directx end-user runtimes.
На вашем компьютере уже установлена одна из версий DirecX end-user runtimes. Для программ, которые мы будем создавать, вполне достаточно и старых версий, и если вам не нужна последняя версия DirectX end-user runtimes, можете переходить к следующему пункту.
Последняя на данный момент (январь 2010) версия directx end-user runtimes вышла в августе 2009г. Найти последнюю версию можно на диске с какой-нибудь недавно вышедшей игрой или скачать по ссылке в начале урока.
После того как вы скачали и запустили файл directx_aug2009_redist.exe, появится окно с лицензионным соглашением:
После нажатия на кнопку Yes, нужно будет ввести путь к временной папке, куда будет распакован архив:
После того как архив распаковался, нужно перейти в указанную вами временную папку и запустить файл DXSETUP.exe. Откроется вот такое окно:
Теперь нужно нажать два раза Далее и начнётся установка.
Всё. С установкой DirectX end-user runtimes мы закончили. Теперь, для того чтобы создавать программы, использующие возможности directx, нужно установить directx sdk. Но сначала небольшой урок истории:
Немного истории directx sdk
Прежде чем приступать к чтению уроков из данного раздела (DirectX), вы должны были изучить большую часть материалов из раздела C++. Скорее всего у вас возник ряд вопросов. И самый главный из них: как используя изученный материал, начать создавать свою игру? Ниже я попытаюсь ответить на него. По крайней мере, вы узнаете теорию. Практикой же мы займёмся позже.
До сих пор наши программы работали в досовской консоли. При этом мы использовали язык C++.
C++ — это основа. Не зная этого языка, вы не сможете создать какую-нибудь игру. Конечно адепты Паскаля, Бейсика или Фортрана (если такие есть :)) могут возразить, что на этих языка тоже можно создавать о-го-го какие игры. Только о-го-го какими, они были в середине восьмидесятых. Тогда, да, они выглядели очень круто.
Сейчас я расскажу вам очень важную вещь. Она простая, и возможно вы её уже знаете. По крайней мере, если бы кто-нибудь объяснил мне это лет десять назад, возможно вся моя жизнь сложилась бы по-другому.
Итак: «у компьютеров есть слои» (С) Шрек. 🙂 Извините, не сдержался.
У компьютеров есть уровни. Самый низкий уровень — уровень физических элементов (транзисторы и провода). Самый высокий (из тех, что мы пока знаем) — это язык C++. Именно поэтому он называется языком высокого уровня. Между этими уровнями расположено ещё несколько: микроархитектурный уровень (на этом уровне идёт общение с процессором), уровень операционной системы, уровень языка ассемблера (ассемблер — язык низкого уровня).
Когда мы начинаем выполнение программы, команды на языке C++ переводятся на более низкие уровни. На самом нижнем уровне эти команды выполняются непосредственно электрическим сигналом. Одна команда более высокого уровня может состоять из нескольких команд более низкого.
Для простоты понимания, считайте, что каждая команда более высокого уровня состоит из нескольких команд более низкого. Т.е. более высокий уровень — это всего лишь абстракция над более низким.
В конце восьмидесятых — начале девяностых не существовало (точнее они ещё не получили широкого распространения) более высоких абстракций (уровней) чем язык программирования. В нашем случае — это C. Все приложения писались на языке высокого уровня: Pascal, C, Fortran. Создание графики и графических приложений происходило непосредственно на языке высокого уровня.
Тут что надо заметить! Большинство языков программирования высокого уровня обладают примерно равными возможностями. Будь то Pascal, Java или С++. Понятно, что у некоторых этих возможностей побольше, у других поменьше. Но у них много общего: у всех есть циклы и ветвления, функции, переменные.
Ходят слухи, что изучить C++ намного сложнее, чем Pascal или другие языки программирования. Надеюсь, что изучая материал из раздела C++, вы убедились, что это не так.
На мой взгляд, распространённое мнение о сложности C++ — это результат наглой и бессовестной диверсии со стороны адептов Delphi! На самом деле Pascal намного сложнее в изучении. Вы только подумайте, они вместо скобочек < >используют begin и end. А как они выполняют присваивание — оператором := (да-да, двоеточие и знак равенства). Короче, настоящий дурдом!
Когда появились видеоускорители, программистам приходилось писать отдельный код для каждого. Зайдите в любой интернет-магазин торгующий видеокартами и представьте, что Вам пришлось бы писать отдельный код для каждой видеокарты. В общем, перед программистами появилась серьёзная проблема.
В середине девяностых очень быстро начала распространяться операционная система Windows. Первоначально Windows была написана на C (не на C++, нет. Т.е. там не было классов). Windows до сих пор использует часть старого кода. Когда мы начнём создавать приложения под Windows, мы познакомимся с ещё более высоким уровнем — WinAPI (Windows API). WinAPI используют все приложения под Windows.
WinAPI (API — Application Programming Interface. Интерфейс программирования приложений) — представляет собой набор функций и структур, написанных на C.
В Windows использовалась (и используется) своя система вывода графики. Называется она — GDI (расшифровывается как Graphical Device Interface — интерфейс графического устройства, а не Global Defence Initiative как мог подумать особо проницательный и эрудированный читатель).
GDI в силу особенностей WinAPI не годилась для создания игр. Потому что GDI — оооочеееень меееедлеееннаааааяяя. Кстати, если заглянуть на форумы приспешников Delphi, можно обнаружить, что многие пытаются создавать игры с использованием GDI. Я же говорю, это больные люди. Так вот, разработчики игр не спешили создавать игры под Windows, им было привычнее работать под старой доброй DOS.
И тогда Microsoft создаёт DirectX. Первая версия была полным отстоем. Но время шло, и DirectX становился всё более надёжным. В новой операционной системе Windows 7 уже будет доступна одиннадцатая версия.
Мы будем разбирать примеры для девятой версии. Отличия между девятой и десятой существенные. Возможно, в будущем мы рассмотрим и десятую, хотя скорее всего, сразу перейдём на одиннадцатую.
Что же из себя представляет DirectX. Это высокоуровневая API, которая написана на С++, с использованием технологии COM (Component Object Model — компонентная модель объектов. Мы её кратко рассмотрим). DirectX предназначена для работы с драйверами видеокарт. Для каждой видеокарты создаются драйвера (язык команд, которые понимает видеокарта). Программисту больше не нужно писать отдельный код для каждого драйвера каждой видеокарты. Ему нужно только знать API DirectX. Всю низкоуровневую работу (взаимодействие с драйверами) берёт на себя DirectX.
Справедливости ради, нужно сказать, что существует ещё одна популярная библиотека — OpenGL. Принцип работы — примерно тот же: программист работает с API, а сама OpenGl работает с драйверами. Неоспоримое преимущество OpenGL — мультиплатформенность. Т.е. OpenGL будет работать на всех операционных системах. DirectX работает только на Windows. Преимущества DirectX мы рассмотрим позднее (а они есть, и они, на мой взгляд, гораздо существеннее).
Для того чтобы запускать программы, написанные с использованием DirectX, вам необходим DirectX End-User Runtimes (мы его установили в предыдущем пункте).
Чтобы писать приложения, использующие DirectX, нужно скачать DirectX SDK (Software Development Kit — набор инструментов разработки приложений).
У Вас на выбор два варианта установки directx sdk:
1. Скачивание DirectX SDK с сайта Microsoft. При этом Вы скачаете полный вариант со всеми примерами, документацией и дополнительными инструментами. Размер архива — примерно 580 мегабайт. При установке DirectX SDK займёт больше гигабайта.
2. Скачивание DirectX SDK с вашего любимого сайта (ссылка в начале урока). При этом Вы скачаете урезанный мной вариант, в котором я оставил только библиотечные/заголовочные файлы и один пример. Размер архива — 2 мегабайта (два мегабайта. ). Что называется, прочувствуй разницу! При установке, DirectX SDK займёт двадцать семь мегабайт.
Установка directx sdk с сайта Microsoft
Заходим на домашнюю страницу DirectX.
И щёлкаем на ссылку — Get The Latest DirectX SDK или August 2009 DirectX SDK Now Available.
Откроется страница, с которой можно скачать последнюю на данный момент версию DirectX SDK — от девятого августа.
Итак, на следующей странице нажимаете на кнопку Download. Появится диалог сохранения файла и начнётся скачивание directx sdk:
Кстати, в одной из последних версий DirectX были добавлены технические обзоры двух новых технологий, которые будут использоваться в DirectX 11: Direct2D и DirectWrite. Если знаете английский, обязательно посмотрите соответствующие разделы в MSDN: Direct2d и DirectWrite. Я когда готовил урок, два часа в документации просидел. Жалко, что протестировать не удалось. Думаю, в будущем мы обязательно будем обсуждать данные технологии в рассылке.
После скачивания установочного файла, запускаем его. Дальнейший процесс щёлканья на кнопку «Next» я проиллюстрирую картинками:
Далее начнётся установка.
Скачать и установить DirectX SDK с сайта
Тут всё намного проще и быстрее. Щёлкаете по ссылке, расположенной в начале урока. Или в разделе Листинги и программы ищете «DirectX SDK», загружаете файл на свой компьютер и распаковываете. У себя я распаковал архив в корневой каталог диска D. В итоге установочная папка выглядит так: D:directx
Небольшое замечание: я много чего вырезал, чтобы уменьшить архив. В будущем, Вам нужно будет скачать ещё несколько файлов, о чём будет сообщено дополнительно. Они тоже будут небольшими.
После установки directx sdk
Напоследок давайте посмотрим, как оно работает.
Для того чтобы во время выполнения программы работали библиотеки DirectX, в программу нужно включить соответствующие заголовочные файлы. Кроме того необходимы библиотечные файлы. Что это такое? Мы с ними пока не сталкивались. Как мы знаем, в заголовочных файлах хранятся объявления функций. Тела функций обычно хранятся в другом месте. В уроке по многофайловым программам мы хранили тела функций в отдельных исходных файлах. В случае если вы приобретаете библиотеку функций и классов у кого-нибудь, вы получаете заголовочные файлы (где хранятся объявления) и библиотечные файлы (где хранятся определения). Библиотечные файлы имеют расширение .lib.
В данный момент IDE не знает о существовании DirectX. Нам нужно сообщить, где IDE Visual C++ 2008 должна искать заголовочные и библиотечные файлы.
Откройте пункт меню Tools -> Options (Сервис -> Параметры).
В левой части открывшегося окна выберите Projects and Solutions -> VC++ Directories (Проекты и решения -> Директории VC++):
В правой части в выпадающем списке Show directories for (Показать директории для:) выберите Include files (Включаемых файлов, за точное имя пункта на русском не ручаюсь, он там второй). Затем из панели инструментов выберите New Line (Новая строка) или щёлкните Ctrl+Ins. Для более наглядной иллюстрации смотрите картинку. Появится новая строка. Щёлкните на кнопку с тремя точками в конце строки
Откроется окно выбора директории. Перейдите в папку, где у вас установлен DirectX. И выберите папку Include.
Теперь в выпадающем списке (где вы выбирали Include files) выберите Library files (библиотечные файлы) и повторите операцию добавления строки. Только теперь выберите папку Lib/x86 если у Вас 32-ух разрядная операционная система или Lib/x64 если 64-ёх разрядная.
Нажимаем OK. Теперь IDE знает, где искать заголовочные и библиотечные файлы.
Запуск приложения
Теперь открываем проект File — Open — Project/Solution или щёлкаем Ctrl+Shift+O.
Если вы загружали SDK с сайта Microsoft, то пример находится в папке (D:directx — папка, куда я установил свою версию):D:directxSamplesC++Direct3DTutorialsTut01_CreateDevice
Если вы загружали SDK с моего сайта, проект можно найти по адресу (D:directx — папка, куда я установил свою версию): D:directxSamplesTut01_CreateDevice
В папке лежат два решения: для Visual C++ 2005 и для Visual C++ 2008. Выберите решение, соответствующее вашей версии Visual C++.
Теперь нажимаем Ctrl+Alt+F7 и F5.
Вот она. Первая программа использующая DirectX.
Прежде чем закрывать IDE, давайте взглянем на код.
В обозревателе решений выберите файл CreateDevice.cpp. Если вы бегло просмотрите весь файл, то скорее всего ничего не поймёте.
Как это ни удивительно :), но структура программы очень похожа на то, что мы уже создавали: директивы #include, функции InitD3D(), CleanUp(), Render(), MsgProc().
Функция wWinMain — аналог main. С неё начинается выполнение программы в Windows.
В строках объявления переменных:
LPDIRECT3D9 g_pD3D = NULL; // Used to create the D3DDevice
LPDIRECT3DDEVICE9 g_pd3dDevice = NULL; // Our rendering device
Встречаются новые типы. На самом деле они переопределены с помощью typedef (который мы уже рассматривали) из стандартных типов.
Кое-что нам не знакомо:
g_pD3D->CreateDevice
Здесь, g_pD3D — объект, а CreateDevice() — метод. Почему используется синтаксис -> вместо привычной для нас точки мы узнаем в одном из следующих уроков.
Да, здесь используется много новых типов, много новых функций, но всё же за всей этой мишурой можно угадать уже привычный (надеюсь, что это действительно так) для нас C++.
FAQ (DX11 шаг за шагом)
Общие вопросы по вики Править
Зачем изучать DX11, если есть DX9? Править
Я заметил, что очень многие почему-то считают что начинать надо с DX9 и только потом переходить на DX11. Это неверно. DX9 устарел, и хотя до сих пор делают игры на нем, вы ведь завтра игру не сделаете, в лучшем случае через год или через два. То есть к тому времени когда вы будете способны делать игры, технологии могут сто раз поменяться, поэтому стоит всегда начинать с самых новых. Кроме того скорее всего консоли нового поколения также будут использовать современное GAPI (DX11/OGL 4 или выше).
Это первая причина. Вторая — DX11 проще по синтаксису.
А почему не OpenGL? Править
Не всем он нравится. Не все собираются делать игры под линуксы и маки (а в консоли вас все равно не пустят). Проблемы с драйверами — не все конечные пользователи умеют их правильно устанавливать (я вот до сих пор не могу обновить драйвер своей видеокарты 2010 года, потому что криворукие драйверописатели что-то там сделали, из-за чего их драйверы не опознают мою видеокарту, и поэтому не хотят устанавливаться. ну и как я буду играть в игру на OpenGL 4?). Хотя, возможно, я когда-нибудь и начну писать статьи по OGL, но не сейчас.
Подготовка Править
Что нужно знать Править
Вы должны знать С++, чуть выше написания хеловорда. Будет хорошо, если вы до этого писали какие-то проекты. Если вы не знаете С++ или начали его изучать в прошлом месяце — продолжайте изучать С++, вам еще рано изучать голый GAPI. Вы спешите и хотите сделать игру завтра? Unity вам в помощь, знать DX для этого вам не нужно — там уже все за вас сделали. Вы уникум умеющий все изучать за неделю? Чтож, я вас предупредил, большинство возникших проблем у читателей было связано как раз с незнанием программирования или IDE. Хотя не волнуйтесь, я пытаюсь помочь даже начинающим, ведь сам был когда-то таким же и тоже DX (тогда DX9) решил изучать на вторую неделю обучения программированию:)
Нужно хоть как-то читать по английски, я конечно статьи пишу на русском, но ведь не одну же эту вики вы будете читать:) Как минимум придется читать хелп из DirectX SDK. Если с английским проблемы, советую тогда скачать программу-переводчик (я использую PROMT).
Что нужно скачать Править
Вам, нужна IDE, если вы достаточно опытны, то любая к которой можно подключить DirectX SDK. Если вы не опытны, то Visual Studio 2010. Не Visual studio 2008 (из-за того что я использую новый стандарт С++). И не Visual Studio 2012 (там возможно есть какие-то заморочки, хотя можете попробовать, вдруг не будет проблем). Постарайтесь понять как создается статическая библиотека, как библиотеки подключаются к проекту, что такое RELEASE и что такое DEBUG. А в случае проблем вам нужно понимать, как сделать пошаговое выполнение приложения, и вообще иметь общие представления об дебаге приложения.
Скачать VS 2010 совершенно бесплатно и легально можно здесь. Но это урезанная версия, могут возникнуть проблемы (все они давно вылечены — гугл вам в помощь:)) На свой страх и риск можете скачать VS 2012 оттуда же, но я не гарантирую вам работоспособность уроков. Ну и еще вы можете скачать полную версию IDE с торрентов, например с рутреккера (у меня ultimate).:)
Кроме того вам нужно скачать DirectX 11 SDK. Это дело лежит здесь
Обратите внимание — это версия за июль 2010 года. Сейчас есть более новая версия (DX 11.1) которая идет в Windows SDK, но я ее пока не буду рассматривать, из-за не слишком важных изменений, и вам не советую начинать с нее — нет ни примеров, ни документации (точнее они есть, на сайте Microsoft, но их там еще найти надо:) ).
Документация лежит в Microsoft DirectX SDK (June 2010)DocumentationDirectX9:
С нею вам придется часто работать. Все что я не описываю (например параметры методов), описано там простым английским языком. Хотя документация должна встроится в IDE (но почему-то это не всегда получается)
В папке Microsoft DirectX SDK (June 2010)SamplesC++ лежат примеры (в том числе и скомпилированные). Вас должны интересовать папки Direct3D10 и Direct3D11 (в них есть папка Bin, в ней уже собранные примеры для запуска)
Вопросы по DirectX SDK Править
Какой самый новый и где взять? Править
На данный момент самый новый — 11.1. Работает с Visual Studio 2012. Новые фичи:
Но я не рекомендую.
Не находит заголовок «d3dx9.h», «d3dx10.h» или «d3dx11.h» Править
Скорее всего у вас DX 11.1. В нем вроде как таких заголовков больше нет
Об этом написано здесь:
Wherever «d3dx9.h», «d3dx10.h», or «d3dx11.h» are included in your project, be sure to explicitly include «d3d9.h», «d3d10.h» and «dxgi.h», or «d3d11.h» and «dxgi.h» first to ensure you are picking up the newer version. You can disable warning C4005 if needed; however, this warning indicates you are using the older version of these headers.
Remove all references to DXGIType.h in your project. This header doesn’t exist in the Windows SDK, and the DirectX SDK version conflicts with the new winerror.h.
All D3DX DLLs are installed onto your development computer by the DirectX SDK installation. Ensure that the necessary D3DX dependencies are redistributed with any sample or with your application if it is moved to another machine.
Be aware that replacement technologies for current uses of D3DX11 include DirectXTex and DirectXTK. D3DXMath is replaced by DirectXMath.
Удалите данные строчки.
Вопросы по урокам Править
Как изучать Править
Выполняйте каждый шаг. Будет лучше, если вы не будете пропускать их, так как я раз объяснив, больше не объясняю, и если вы пропустите объяснение, вы не поймете позже.
Самый идеальный способ изучения примерно следующий:
- Прочитайте статью полностью, не особо вчитываясь в код и вообще обзорно. Это нужно чтобы понять структуру урока и найти те места где дается объяснение происходящего.
- Если в введении дана теория, и она вам не понятна после чтения данной статьи, поищите нужные слова в гугле — там скорее всего есть масса объяснений и примеров даже на русском языке. Иногда я и сам даю ссылки на полезные статьи. Вы должны хотя бы примерно понять — о чем будет речь, так что сильно много времени не тратьте.
- Создайте проект, подключите к нему фреймворк. Если ваша версия фреймворка испортилась, в конце статьи есть архив с исходниками. В этом архиве есть две (или более) папок, одна из них названа D3D_Framework — это и есть папка фреймворка. Не забудьте сначала его скомпилировать.
- Начните перепечатывать код из статьи. В идеале вручную копируя только те места которые вы и так понимаете. Если вы прислушаетесь к этому совету, то доведете знание DX до совершенства. Я даю код отрывками, после каждого я часто (но не всегда) даю объяснение происходящего. Завершив перепечатывание одного отрывка, прочтите ниже описание, а затем постарайтесь понять логику кода. Если вам хочется узнать больше о той или иной команде DX, откройте windows_graphics.chm и найдите там описание этой команды.
- Продолжайте перепечатывать код.
- Не забудьте создать шейдеры. Шейдеры, создаются в обычном блокноте (или аналоге) и кладутся рядом с приложением. И не забудьте их тоже разобрать.
- Скомпилируйте приложение и запустите. Сравните ваш результат с результатом из архива с исходниками
- Если возникли проблемы, прочтите вопрос » Возникли проблемы, что делать? «.
- Если все прошло удачно, просмотрите весь код, постарайтесь изменить что-то (например сдвинуть видовую матрицу, добавить еще несколько мешей, изменить текстуру и т.д.)
- Если у вас остались какие-то вопросы по теме, снова обратитесь к гуглу или задайте их в коментариях к статье. Еще вы можете вбить название статьи в гугл и найти кучу теории по данной теме — это позволит вам изучить более полно тот или иной вопрос.
Возникли проблемы, что делать? Править
Если код не компилируется:
- Вы подключили нужный фреймворк?
- Вы правильно настроили проект?
- Вы не допустили ошибку при перепечатывании кода?
Если ваше приложение компилируется, но не работает:
- Для начала убедитесь что ваша видеокарта поддерживает DX10/DX11. Для этого зайдите в папку DX SDK — Microsoft DirectX SDK (June 2010)SamplesC++Direct3D11Bin, и позапускайте оттуда примеры.
- Затем скачайте из статьи архив с исходным кодом, зайдите в папку lesson/bin, запустите приложение из нее.
- Если оно не заработало, а примеры из DX работают, срочно пишите в комментариях к статье, будем разбираться вместе.
- Если пример работает, значит проблема где-то у вас.
- Убедитесь, что вы запускаете приложение из папки а не из IDE (либо правильно настроили проект для запуска из IDE), также убедитесь что все нужные шейдеры и ресурсы (модели, текстуры и т.д.) лежат рядом с exe файлом. Убедитесь, что в шейдерах правильный код.
Приложение работало, вы внесли изменения, и теперь пустой экран (или сразу пустой экран):
- Возможно, неверный шейдер.
- Возможно, рисование происходит, но вы направили камеру (видовую матрицу) в другое место и поэтому ничего не видите
Visual Studio 2010 DirectX SDK
Здравствуйте!
Такая проблема: выпадают ошибки на стандартные заголовочные файлы oleidl.h, objidl.h, urlmon.h, oaidl.h при построении проекта.
Дело в том, что эти проекты работают на VS 2008. Пробовал конверить Студией и вручную, результат один — стоит только подключить
«#include » как сразу же вываливаются ошибки на строки с таким кодом «unsigned long *,» в вышеуказанных файлах, и говорит
«IntelliSence: type name is not allowed» (недопустимое имя типа). Что делать и кто виноват? Уже перешел с 2008 на 2010, не хочется обратно.
Ego_Brain
Разбирайся в настройках проекта, там появились новые пункты.
Просмотри, как реализованы настройки в примерах из последнего DX SDK.
VS2010 — супер, на порядок лучше 2008-ого.
Решение проблемы встало на обновлении SDK. Надеюсь ошибки отпадут после обновления.
Про какие пункты настройки проекта идет речь?
А директовые инклюды в конце списка? (C++ directories -> include files)
Ego_Brain
> Про какие пункты настройки проекта идет речь?
VC++ Directories
Ну есессно я указал директории с либами и заголовочными файлами, иначе бы d3dx9.h не распознался бы студией. Именно он и тянет за собой обозначеные в теме заголовочные файлы, в которых ошибку дает.
serg_usyp
> VS2010 — супер, на порядок лучше 2008-ого.
и чем же? Лично я не заметил почти никаких отличий. Вот что сильно заметно, так это время загрузки увеличилось раза в 3-4.
Ego_Brain
> Ну есессно я указал директории с либами и заголовочными файлами, иначе бы d3dx9.h не распознался бы студией.
Всё верно, но я имел ввиду, что инклуды DirectX должны включаться после Windows SDK — в конце списка стоять.
StiX
> и чем же?
Там только проверка синтаксиса во врема работы чего стоит.
А так, это можно целую книжку написать.
Sasha7b9
На счет порядка в списке директорий: в учебниках наоборот советуют ставить Директовые директории вначало списка.
На счет топика: Обновил Директ СДК до версии «июнь 2010» — помогло.
Тогда возникает вопрос: в чем же была трабла? Неужели в 2010 студии тип unsigned long запрещен? Или же запись unsigned long * теперь недопустима? Кто что знает?
- Sasha7b9
- Постоялец
Ego_Brain
Да что тут думать-то? Видать, у них теперь совместимость между студией и директикс на уровне годОв.
А насчёт порядка директорий удивил ты меня, да. Сдаётся мне, что-то ты где-то не так прочитал или запомнил, да.
- Barabus
- Удалён
Sasha7b9
> Всё верно, но я имел ввиду, что инклуды DirectX должны включаться после Windows
> SDK — в конце списка стоять.
С относительно недавнего времени d3d9.h, d3d10.h и еще несколько заголовков включены в состав Platform SDK. В предложенном Вами случае именно они и будут загружены. В случае же, предложенном Ego_Brain будут загружены заголовки из DX SDK. В большинстве случаев это не принципиально, но если мелкомягкие надумают внести существенные изменения в какой-нибудь из этих файлов, то может случиться конфуз.
- Sasha7b9
- Постоялец
Barabus
Т.е., объясните ламеру. Порядок подключения заголовочных файлов зависит от того, включены ли в Platform SDK d3.h файлы? А может, где-то почитать об этом можно?
Или, лучше даже так — если у вас студия до 2005 включительно, то d3.h файлы подключать в конце, а если 2008 и позднее — в начале?
Просто здесь есть несколько тем достаточно древних, в том числе и моя, об ошибках (что-то про типы), которые возникали, когда инклюды DXSDK в конце подключены были.
- Barabus
- Удалён
Sasha7b9
Пути к папкам DX SDK всегда лучше ставить в самое начало.
> Порядок подключения заголовочных файлов зависит от того, включены ли в Platform
> SDK d3.h файлы?
На порядок подключения это никак не влияет. Если у Вас два файла с одинаковыми именами, но в разных папках, то будет загружен тот файл, путь к папке которого находится в начале списка.
> А может, где-то почитать об этом можно?
хз. Может быть в MSDN?
> Или, лучше даже так — если у вас студия до 2005 включительно, то d3.h файлы
> подключать в конце, а если 2008 и позднее — в начале?
Насколько я помню, в VS 2005 был только d3d8.h (могу ошибаться). Если так, то совершенно без разницы. В VS 2008 и выше всегда ставьте пути к файлам DirectX в начало.
- serg_usyp
- Постоялец
Sasha7b9
> Т.е., объясните ламеру. Порядок подключения заголовочных файлов зависит от того, включены ли в Platform SDK d3.h файлы? А может, где-то почитать об этом можно?
Если пока мозгов не хватает разобраться, то делай просто тупо: смотришь, как реализованы настройки в примерах из последнего DX SDK и копируешь в свой проект.
Настройка MS Visual C++ 2010 и DirectX SDK
Содержание
- Настройка MS Visual C++ 2010 и DirectX SDK
- Intro
- Пара слов о DirectX SDK
- Создаём Проект
- Настраиваем MS Visual C++ 2010 и DirectX SDK
Intro
Прежде чем начать компилировать исходные коды, немного настроим MS Visual C++ 2010, указав пути к подсоединяемым библиотекам (.lib) и заголовочным файлам (.h) MS DirectX SDK. Для других версий MS Visual C++ процедура ничем не отличается, кроме расположения соответствующих меню и их внешнего вида. Начиная с версии 8.0 (MS Visual Studio 2005), при создании нового Проекта IDE автоматически создаёт для него Решение.
«Решением» (от англ. solution) в принятой у Microsoft терминологии называется группа Проектов, объединённых общей темой. То есть, в одно Решение может входить несколько Проектов. В нашем случае это неважно, и в нашем Решении будет один Проект (пока один). Обрати внимание, что по умолчанию все Решения и Проекты сохраняются в каталог c:users documentsvisual studio 2010Projects (при желании можно изменить).
Из-за того, что MS Visual C++ 2010 хранит все настройки Проектов в их же каталоге, данную процедуру настроки путей придётся проделывать при создании каждого нового Проекта (причём, даже в том случае, когда эти Проекты принадлежат к одному и тому же Решению!). Пути сохраняются вместе с Проектом и при повторном открытии настраивать их заново не требуется. Также не требуется настройка путей при открытии примеров из MS DirectX SDK и некоторых других Проектов/Решений, в которых уже содержатся сведения о расположении необходимых библиотек и заголовочных файлов.
- Убедись, что MS Visual C++ 2010 и DirectX SDK успешно установлены, и что MS Visual C++ 2010 запускается (ярлык, обычно, расположен в меню Пуск).
Если нет, читай статью здесь: Устанавливаем Microsoft Visual C plus plus 2010 Express
Последнюю версию DirectX SDK нетрудно найти в поисковиках.
Пара слов о DirectX SDK
DirectX SDK не имеет своей программной оболочки. Для просмотра содержимого открой соответствующий каталог (в нашем случае C:Program Files (x86)Microsoft DirectX SDK (June 2010)) с помощью Проводника Windows.
В соответствующих каталогах расположены файлы:
Developer Runtime | Девелоперские (они же debug-, отладочные, для разработчиков) версии библиотек времени выполнения (runtime library). На всякий случай. |
Documentation | Документация по DirectX SDK. Всё на английском языке. Размещена в двух CHM-файлах (directx_sdk.chm и windows_graphics.chm). Компилированные файлы справки Windows (CHM) имеют удобную древовидную навигацию и поиск. |
Extras | Отладочные (debug) версии драйверов DirectSound. Для данного курса не потребуются. |
Include | Заголовочные файлы для импорта функций DirectX. Самый нужный каталог. Путь к нему мы чуть позднее укажем в настройках MS Visual C++. |
Lib | Библиотеки DLL, содержащие функции DirectX. Самый нужный каталог. Путь к нему мы чуть позднее укажем в настройках MS Visual C++. Внутри 2 подкаталога («x64» и «x86»). Указываем только «x86». (Программирование под 64-битную архитектуру это тема для отдельного курса.) |
Redist | Т.н. «библиотека времени выполнения». Необходима для запуска игр, спрограммированных под MS DirectX, на ПК. Включена по-умолчанию во все версии ОС MS Windows Vista/7. Так как это самая свежая версия, смело запускаем DXSETUP.exe из данного каталога и следуем шагам несложной программы установки для обновления компонентов DirectX в вашей ОС. |
Samples | 790 мегабайт примеров! Разложены по папкам в виде проектов (или т.н. «решений» (solution)), которые открываются и компилируются в исполняемый .exe файл в (правильно сконфигурированной) среде MS Visual Studio. Настоятельно рекомендуется для самостоятельного изучения, как только мы подготовим к работе нашу IDE. Для удобного просмотра можно использовать обозреватель примеров из подкаталога SampleBrowser. Все описания и комментарии в исходных кодах на английском языке. |
System | Системные файлы для инсталляции и деинсталляции DirectX SDK, DOT NET Framework 2.0 (специальная надстройка для ОС для выполнения приложений, созданных под архитектуру .NET; здесь не потребуется) и др.. На всякий случай установим vc10redist_x86.exe из подкаталога uninstall (библиотеки времени выполнения для приложений, спрограммированных на IDE MS Visual С++ 2010). |
Utilities | Утилиты (служебные приложения). Содержит множество дополнительных приложений (подкаталог /bin — исполняемые двоичные файлы; подкаталог source — исходные коды этих приложений) для конвертирования мешей (полигональных сеток), текстур, для стандартизованного описания игрового проекта и другие. Пока не нужен. |
Создаём Проект
- Запускаем MS Visual C++ 2010.
С недавних пор меню настройки путей к библиотекам (.lib) и заголовочным файлам (.h) переехало из Сервис->Параметры (здесь и далее значком «->» будем обозначать выпадаюшее меню или подпункт меню) в Проект->Свойства. Таким образом, ВСЕ настройки и пути к каталогам теперь хранятся в соответствующих файлах Проектов. Причём, даже если эти Проекты размещаются в пределах одного и того же Решения.
Поэтому создадим Проект.
- В верхней части окна IDE видим полосу Главного меню (Файл, Правка, Вид. ). Выбираем в нём: Файл->Создать->Проект.
- В окне «Создать проект» выбираем: «Проект Win32«, в строке «Имя» пишем название проекта (в нашем случае Test01). Строки «Расположение» и «Имя Решения» заполняются автоматически (при необходимости изменяем). Жмём «OK», «Далее».
- На странице «Параметры приложения»: оставляем «Приложение Windows» и отмечаем пункт «Пустой проект». Жмём «Готово».
Проект создан. Так как это «Пустой проект», он не содержит в себе никаких файлов. В левой части расположен «Обозреватель решений». Если его нет, в главном меню выбираем: Вид->Другие окна->Обозреватель решений. Или комбинация горячих клавиш Ctrl+Alt+L. В Обозревателе решений видна древовидная структура Проектов, входящих в данное Решение. Чуть ниже названия Проекта видим специально заготовленные папки (в MSVC++2010 они называются «фильтры») для файлов Проекта:
Внешние зависимости | Чаще всего здесь размещаются заголовочные файлы различных сторонних библиотек. Причём, они представлены здесь в виде ссылок. «Физически» файлы, как правило, находятся за пределами каталога Проекта и не являются его частью. Содержимое каталога «Внешние зависимости» (если внимательно посмотреть, то он тоже является своеобразным ярлыком или ссылкой) генерируется автоматически в процессе линковки и поиска так называемых внешних «зависимых» библиотек. |
Заголовочные файлы | Содержит заголовочные файлы Проекта (.h). |
Файлы исходного кода | Содержит исходные файлы Проекта (.cpp). |
Файлы ресурсов | Содержит так называемые «бинарные» ресурсы (формы, иконки, звуки и т.д.) |
В данный момент все эти каталоги пусты. Программист самостоятельно создаёт внутри них соответствующие исходные и заголовочные файлы, последовательно редактируя их в правой части окна IDE.
Сейчас это неважно. Так что вернёмся к указанию путей к MS DirectX SDK.
Настраиваем MS Visual C++ 2010 и DirectX SDK
- В Обозревателе решений видим: «Решение «Test01″», а строкой ниже жирным шрифтом название Проекта (Test01). Наводим курсор на эту строку (с названием Проекта), щелчок правой кнопкой мыши. Во всплывающем меню выбираем пункт «Свойства». Или в Главном меню выбираем Проект->Свойства. Или нажимаем Alt+F7.
- В появившемся меню свойств проекта выбираем «Каталоги VC++». В правой части этой страницы расположены пути ко всевозможным каталогам. Здесь нас интересуют только 2 строки: Каталоги включения и Каталоги библиотек.
- Щёлкаем левой кнопкой мыши по пункту Каталоги включения. В правой части этой строки видим кнопку с чёрным треугольником, указывающим на наличие выпадающего меню. Нажимаем на неё -> выбираем «Изменить. «
- В появившемся меню «Каталоги включения» жмём кнопку «Создать строку» (с жёлтой папкой) и указываем полный путь к заголовочным (include) файлам DirectX SDK. В нашем случае это C:Program Files (x86)Microsoft DirectX SDK (June 2010)Include. Можно просто выбрать каталог из дерева каталогов, нажав кнопку с троеточием, расположенную справа от строки ввода. Жмём «ОК».
- Щёлкаем левой кнопкой мыши по пункту Каталоги библиотек. В правой части этой строки видим кнопку с чёрным треугольником, указывающим на наличие выпадающего меню. Нажимаем на неё -> выбираем «Изменить. «
- В появившемся меню «Каталоги библиотек» жмём кнопку «Создать строку» (с жёлтой папкой) и указываем полный путь к 32-разрядным версиям файлов библиотек (lib) DirectX SDK. В нашем случае это C:Program Files (x86)Microsoft DirectX SDK (June 2010)Libx86. Можно просто выбрать каталог из дерева каталогов, нажав кнопку с троеточием, расположенную справа от строки ввода. Жмём «ОК».
- На Странице свойств тоже жмём «ОК». Готово.
Contributors to this page: slymentat .
Последнее изменение страницы Четверг 27 / Февраль, 2020 14:07:36 MSK автор slymentat.