рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Состоит из следующих компонентов

Состоит из следующих компонентов - раздел Образование, Directx Для Начинающих   ...

DirectX для начинающих

 

Вернуться к разделу Hello, World! Автор Виктор Кода, дата публикации 8 апреля 2002г.

 

Введение

Фанаты игр часто встречаются с аббревиатурой "DirectX". На упаковках игр для Windows 95 она появилась в конце 1995 года примерно одновременно с выходом самой операционной системы. С тех пор качество игр резко ушло вверх, достигнув небывалых высот. Что же такое DirectX? Это набор специальных API, которые предоставляют работающей программе прямой доступ к аппаратной части компьютера, обеспечивая наивысшее быстродействие при выводе графики, звука, получения данных от устройств ввода и т. д. Сразу надо сказать, что библиотека создавалась исключительно для игр, т. к. именно они требуют от аппаратных средств все 100% производительности. Позднее, с выходом новых версий, DirectX нашёл применение и в мультимедиа-области.

Компоненты DirectX обеспечивают не только прямой доступ к устройствам компьютера: они избавляют программиста от тяжелого труда программирования на языке Assembler, решают проблему с драйверами устройств, незаменимы при создании трёхмерных и сетевых игр. До появления DirectX хороших сетевых игр было не так уж много по причине трудности их программирования.

На сегодняшний день последняя версия DirectX носит порядковый номер 8.1, что позволяет задуматься, сколько утекло времени. Библиотека полностью обеспечивает разработчика всем необходимым инструментарием для разработки качественных игр, поддерживает все современные аппаратные средства и стала де-факто стандартом в игровой индустири игр для персонального компьютера IBM PC.

DirectX 8 состоит из следующих компонентов:

Direct3D

содержит высокоуровневый интерфейс Retained Mode позволяющий легко выводить 3-хмерные графические обьекты, и низкоуровневый интерфейс Immediate Mode, предоставляющий полный конроль над рендерингом. В восьмой версии реализована новая технология вершинных шейдеров, позволяющая поднять уровень реалистичности изображения в новых играх. По своей функциональности вплотную приближается к OpenGL 1.2.

DirectDraw

предназначен для отображения двумерной анимации на экране монитора. Обеспечивает прямой доступ к видеоадаптеру, за счёт чего достигается быстрый вывод графики, по скорости на порядок превышающий GDI. Эти два компонента в восьмой версии объединены в один - DirectXGraphics. Однако, лично я не почувствовал сколь-нибудь характерных изменений (в DirectDraw API). Всё это скорее похоже на маркетинговый ход.

DirectSound

создан для прямого доступа к аппаратной части звуковых плат, чтобы избавить воспроизведение звука от "тормозов", которые возникают при работе с Win32 API.

DirectMusic

работает с музыкальными командами, посылаемыми звуковой карте. DirectMusic и DirectSound восьмой версии объединены в один компонент - DirectXAudio.

DirectInput

эта компонента отвечает за любые устройства ввода, например, аналоговые или цифровые джойстики, рули и педали, ручку управления полётом, световой карандаш или Touch-Screen. Некоторые возможности компоненты можно реализовать средствами Win32 API, получив такой же быстрый доступ, но в некоторых областях DirectInput незаменим (поддерживает технологию force-feedback и нестандартные устройства ввода).

DirectPlay

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

DirectSetup

предназначен для установки DirectX.

DirectShow

Все компоненты реализованы как внутрипоцессные серверы, т.е. размещаются в DLL. Архитектура доступа базируется на технологии COM. Значит, для… Когда я только начинал заниматься графикой в Delphi, я применял всякие… TBitmap и TImage. Надо сказать, дело шло: я самостоятельно разобрался с методами Canvas, догадался об необходимости…

Виктор Кода

  Часть вторая   Вернуться к разделу Hello, World! Автор Виктор Кода, …

Небольшое отступление

Прежде, чем описывать предложенные общему вниманию программы, хочу сообщить о некоторых изменениях в их коде по сравнению с примерами первой статьи,… Вызовы _AddRef() и _Release() больше не используются – в конце концов я… Выражение вида if COM-объект <> nil then COM-объект := nil переписано с использованием процедуры следующего…

Почему я не рекомендую использовать DelphiX

С одной стороны, DelphiX - это удобно – нет необходимости выполнять утомительный набор методов DirectX и длинных, как многоступенчатая ракета,… Такие наборы классов – это нестандартный подход. Допустим, вы потратили… Bounds В предыдущей статье я предложил вниманию только один пример для DirectDraw – простая реализация вывода спрайта…

DDLOCK_DONOTWAIT

применяется, если мы вручную следим, занят ли акселератор в момент вызова метода пересылкой битов. Необходимо использовать функцию FAILED() при вызове метода IDirectDrawSurface7.Lock(). Если при блокировке поверхности произошла ошибка (обычно DDERR_SURFACEBUSY - поверхность занята), то необходимо прекратить дальнейшие действия при работе с поверхностью.

DDLOCK_WAIT

прямая противоположность предыдущему флагу. Если поверхность занята, DirectDraw самостоятельно будет пытаться блокировать её до тех пор, пока это не удастся.

DDLOCK_NOSYSLOCK

DDLOCK_READONLY и DDLOCK_WRITEONLY

Остальные флаги применяются очень редко, их описание можно прочитать в справочной службе SDK. Заблокировав поверхность, можно узнать о её формате. Для этого, собственно, и… Точное определение шага таково: шаг - это расстояние в байтах между адресом, который представляет собой начало растра…

E_win.pas

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

E_drawc.pas

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

E_draw.pas

- здесь располагаются функции, вызываемые для построения изображения на экране.

E_drawu.pas

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

E_bmp.pas

- организует работу по загрузке файлов формата BMP. 24-битные растры загружаются низкоуровневым способом, который уже был описан мною ранее. Палитровые файлы загружаются с помощью функции LoadImage().

E_sprite.pas

- функции для работы со спрайтами и текстом. При создании спрайта одновременно указывается и источник с изображением, которое должен содержать спрайт. Аналогично при создании текста указывается шрифт и сам текст.

E_movie.pas

- это надстройка над спрайтом. Позволяет быстро создать массив спрайтов одинакового размера и быстро загрузить в них специльным образом отредактированное изображение. Редактор прилагается.

E_color.pas

- предоставляет функцию sdiMakeColor() для задания, например, цветового ключа для спрайта. Т. к. формат поверхностей DirectDraw на разных видеоадаптерах и в разных разрешениях различен, значение одного и того же цвета сильно отличается для каждого случая. Используя sdiMakeColor() и указав один из 16 стандартных цветов Windows, можно избежать хлопот с некорректным цветовым ключом.

E_pscrn.pas

- записывает содержимое дополнительного буфера в файл BMP. Функция записи была мною несколько переработана.

Е_fps.pas

- функция sdiGetFPS(). Выдаёт верное значение частоты смены кадров при любой скорости опроса - от 100 мс и до бесконечности.

E_dxver.pas

- позволяет узнать приблизительную версию DirectX. Ничего существенно нового не появилось. Модуль включён "по инерции".

E_error.pas

- работа с ошибками. Функция sdiGetLastError() для вывода сообщения об ошибке, происшедшей в "кишках" движка. Надеюсь, никогда не понадобится.

E_close.pas

- процедура sdiCloseEngine(). Вызов этой функции автоматически удаляет все ресурсы, занятые движком. По-моему, очень полезно.

E_string.pas

Префикс "e_" в названии модулей происходит от "engine" и предназначен для обозначения принадлежности к движку. Все модули… Одно из правил классического программирования - это написание программ с… Рассмотрим общий механизм работы движка на основе модулей e_bmp.pas и e_sprite.pas. Так как классы не используются,…

Несколько слов о недоработках.

Вот так. Самое удивительно - примеры из MS SDK работают у меня корректно на обеих видеокартах. Вообще, когда такая ошибка обнаружилась, я был в… Второе: я переделал функцию сохранения изображения в файле, теперь она… Мысли вслух: Если планируется писать какую-то игру или мультимедийное приложение, лучше написать сначала движок…

– Конец работы –

Используемые теги: состоит, следующих, компонентов0.061

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Состоит из следующих компонентов

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Дать содержательную интерпретацию первых двух главных компонент, используя вращение осей координат главных компонент
На сайте allrefs.net читайте: 8.дать содержательную интерпретацию первых двух главных компонент, используя вращение осей координат главных компонент;...

Пасивні компоненти. Резистори. Конденсатори. Індуктивні компоненти
Перелік скорочень Вступ Пасивні компоненти... ПЕРЕЛІК СКОРОЧЕНЬ...

Деятельность web-студии состоит из следующих направлений
На сайте allrefs.net читайте: Деятельность web-студии состоит из следующих направлений:...

Рассмотрим технологическую цепочку получения топографической карты с использованием следующих компонентов
Применение беспилотных летательных аппаратов БПЛА позволяет существенно снизить затраты на производство аэрофотосъемочных работ С точки зрения... Рассмотрим технологическую цепочку получения топографической карты с... ПРОГРАММА ФОТОГРАММЕТРИЧЕСКОЙ ОБРАБОТКИ PHOTOSCAN...

Бизнес-план инвестиционного проекта состоит из следующих 7 семи разделов
Бизнес план инвестиционного проекта состоит из следующих семи разделов...

Дать содержательную интерпретацию первых двух главных компонент, используя вращение осей координат главных компонент
На сайте allrefs.net читайте: 8.дать содержательную интерпретацию первых двух главных компонент, используя вращение осей координат главных компонент;...

Компонент Memo обладает рядом типичных для визуальных компонентов свойств
Компонент Memo класс TMemo... Пиктограмма... Компонент Memo представляет собой поле для отображения и редактирования текста Текст можно загрузить из файла...

Разработка собственных компонентов
Глава Разработка собственных компонентов...

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

Дисциплина входит в федеральный компонент цикла общепрофессиональных дисциплин и является обязательной для изучения
канд техн наук доцент кафедры ЭиЭ... Учебно методический комплекс по дисциплине Материаловедение составлен в соответствии с требованиями Государственного...

0.033
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам