Работа с DirectX8.1 SDK и по созданию 3D-игр
 
 
 
   
     
 
Создание компьютерных игр на основе DirectX в среде Delphi 6, 7
 
     
  Основы DirectMusic на Delphi  
     
 

Основы DirectInput8 на Delphi

Основы DirectSound8 на Delphi

Разработка компьютерной игры

 
     
 

Введение

Создание современных компьютерных игр длительный процесс. Существует несколько платформ, которые можно использовать.

Основными на сегодняшний день являются OpenGL и DirectX.

Итак, если Вы решились заняться освоением технологий DirectX в среде Delphi, то пришло самое время сделать первый шаг!

В данном сборнике представлены уже адаптированные под Delphi примеры. Так что Вы скоро сможете начать программировать DirectX даже не зная С++!!.

Если же Вы будете двигаться дальше, то Вам конечно понадобится оригинальный DirectX SDK, хотя бы версии 8.1 и хотя бы минимальные знания С++ (чтобы можно было самим адаптировать примеры из SDK на Delphi !).

Примеры даны для реализации в среде Delphi версий 6-7. Однако если у Вас отличная версия, то, скорее всего, Вам придется внести модификации в код. Но думаю, что это не составит большого труда, если учесть, что при ошибках компиляции Delphi подскажет Вам решения и Вы, покопавшись в Help'е сможете внести эти модификации :))

На сегодняшний день самым свежим является DirectX 9 SDK, содержащий Direct3D 10 (на момент чтения Вами этой статьи возможно еще свежее). Данный цикл примеров посвящен основам работы с DirectX 8.1 SDK (Software Developers Kit). Если Вы разберетесь с DX 8.1, то перейти на 9 не составит большого труда т.к. общие принципы останутся прежними. К тому же, в DX9 использование интерфесов DirectInput8 и DirectSound8 осталось практически без изменений, т.е. DI9 и DS9 не появилось!

Почему DirectX81 и Delphi?

Direct3D8

 
     
 

Базовые уроки

Вашему вниманию предлагаются 8 базовых уроков представляющих оригинальные уроки (1-6) взятые из DX SDK 8 и адаптированные к применению в Delphi 7.

Примечание: длинных описаний и пояснений к урокам пока не даю - все что здесь есть - это исходный код. Чтобы детально разобраться в технологии Вам понадобится DX SDK 8 или выше, Delphi 7 (или 6 или выше) и много много терпения и упорства.

Обзор уроков

 

Урок 1

Знакомит с концепцией написания приложений для работы с DirectX. Описываются принципы написания WinAPI приложений, способы обращения к арсеналу DirectX.

Урок 2

Ваше первое полноценное DirectX-приложение. В окне приложения изображается разноцветный треугольник.  
  для скачивания всех уроков нажмите кнопку СКАЧАТЬ!
Первый шаг
для скачивания всех уроков нажмите кнопку СКАЧАТЬ!
Шаг второй
 
           
 

Урок 3

Снова треугольник, но уже вращающийся. Показывается методика работы с матрицами.

Урок 4

На экране создается цилиндр. Показано использование материалов и источников освещения.  
  для скачивания всех уроков нажмите кнопку СКАЧАТЬ!
Посложнее
для скачивания всех уроков нажмите кнопку СКАЧАТЬ!
Следующий шаг
 
           
  Урок 5 Вращающийся цилиндр показан с наложением текстуры. Показано использование текстур.

Урок 6

На экране показана первая сложная модель – поверхность из набора треугольников (Mesh). Это модель тигра.

Используется наложение текстуры. Показано как загрузить модель из X-файла (икс-файла).

 
  для скачивания всех уроков нажмите кнопку СКАЧАТЬ!
Это уже интересно!
для скачивания всех уроков нажмите кнопку СКАЧАТЬ!
Еще интересней
 
     
 

Данные уроки основаны на оригинальных уроках из DX SDK 8. Они лишь адаптированы к применению в Delphi7. Адаптация выполнена автором или другими людьми (это указано в заголовках исходных файлов).

 
           
  Урок 7 Показана технология использования DirectX внутри стандартных VCL-приложений Delphi. Использование окна диалога для выбора файла произвольной модели (из X-файла). Урок 8

Слегка модифицированное приложение из урока 8 – показывает как можно изменять положение наблюдателя для лучшего обозревания модели.

О том как создавать X-файлы см. дополнения.

 
  для скачивания всех уроков нажмите кнопку СКАЧАТЬ!
VCL+DirectX!
для скачивания всех уроков нажмите кнопку СКАЧАТЬ!
Новые модели
 
           
  Урок 9 Данное приложение позволит Вам: а) загрузить какую-либо модель в x-формате (икс-формате); б) посмотреть каким образом реализуется сложное вращение (сразу по двум осям) - в методе SetupMatrices; в) узнать как можно добиться эффекта обозревания мира (3D-пространства модели) управляя положением наблюдателя (камеры). Это модифицированное приложение из урока 8 – следующий базовый шаг в изучении технологий DirectX и их применении в практике программирования на Delphi. Урок 10

Данный урок введет Вас в создание полноценного Direct3D8-приложения на Delphi 7. Библиотека исходного кода позволит Вам быстрее начать создавать 3D-приложения на Delphi. Особенности урока: 1) выбор адаптера и видеорежима; 2) работа с DX-файлами; 3) работа с шейдерами; 4) анимация; 5) пример подводной сцены; 6) особенности Delphi-кода под Direct3D8. Данный урок - хороший старт для дальнейшего изучения DX8 SDK в среде Delphi 7.

 
  для скачивания всех уроков нажмите кнопку СКАЧАТЬ!
Первый 3D-мир
для скачивания всех уроков нажмите кнопку СКАЧАТЬ!
Дельфин под водой
 
           
           
  Урок 11

Технология создания открытых 3D-пространств, billboarding (вращение 2D по отношению к наблюдателю). В качестве основы D3D-приложения используется расширяемая библиотека, которая служит основой всех примеров оригинального DX SDK (она входит в состав архива данного урока). Цель самого урока: познакомить с технологией вращения плоских изображений для создания иллюзии объема. Кроме того, параллельно дается пример создания простейшего открытого 3D-пространства.

Примечание!: Все примеры во время исполнения требуют наличия файлов времени исполнения - D3DX81ab.dll и DXErr81ab.dll, их Вы можете найти в архиве С ОБЩИМ КОДОМ (см. ниже).  
  для скачивания всех уроков нажмите кнопку СКАЧАТЬ!
Открытое пространство, иллюзия объема у плоских деревьев
     
           
  Уроки 1-11 в виде самораспаковывающегося архива - 1,72 Mb
1,72 Mb
Внимание!!! Для нормальной компиляции Вам потребуются заголовочные файлы -
архив с обшим кодом - 772Кб
 
    Важные замечания: если Вы компилируете приложение, а оно не компилируется, запускаете, а выдаются ошибки и т.п. - Вам нужно скачать папку с ОБЩИМ КОДОМ! Размер архива - 772 Кб. Данный архив (С ОБЩИМ КОДОМ) потребуется Вам как для компиляции примеров, так и для дальнейшей работы по разработке компьютерных игр на Delphi. Содержит библиотечные файлы времени исполнения D3DX81ab.dll, DXErr81ab.dll и все основные и дополнительные заголовочные файлы (Direct3D8, D3DX8, DirectInput8, DirectSound8 и т.д.)  
           
  Итак, 12 уроков по основам Direct3D8 преодолено, конечно это еще не завершение, а только начало, но теперь самое время перейти к изучению средств поддержки устройств ввода информации - клавиатуры, мыши, а также джойстиков, рулей и других игровых устройств, а также работе со звуком - все это описывается в разделах:  
           
 
 

Основы DirectInput8 на Delphi

Основы DirectSound8 на Delphi

Разработка компьютерной игры

 
     
  Основы DirectMusic на Delphi  
     
     

Дополнения:

Для конверсии 3ds-файлов (см. ниже) используйте стандартную утилиту conv3ds из пакета DX SDK 8. Местонахождение [Путь к Microsoft DX SDK]\Bin\xfiles

В DX SDK9 упростилась процедура конверсии файлов 3ds max в формат x. Для этого используется встраиваемый plug-in. Получить его можно с DX9 SDK или (чтобы не скачивать весь DX9 SDK!) здесь.

Замечания

По запуску откомпилированных приложений из туториала по DirectX

Если откомпилированное приложение не работает, скорее всего оно не может найти необходимые ему файлы: модель, текстуру.

Решение: просто переместите исполнимый файл в папку, где находятся все используемые модели и текстуры или используйте правильный путь для загружаемых файлов.

По экспорту файлов-моделей 3D Studio Max (5, 7 версии) в формат х при помощи утилиты conv3ds (из папки bin\xfiles пакета DirectX SDK)

Прежде чем конвертировать файл в х-файл (икс-файл) нужно сначала в 3D Max’е экспортировать его (команда Export) в формат 3ds. Это связано с тем, что при обычном сохранении модели сохраняются с расширением max. Полученный файл с расширением 3ds можно конвертировать в х-файл. В DX9 SDK эта процедура упростилась! (см. выше). 

   

(с) Мега Информатик 2006-2007

Hosted by uCoz