- •3D графика и 3d звук.
- •Графический ускоритель
- •3D модель
- •3D-конвейер
- •3D акселерация
- •Заключение
- •Для чего нужен и где применяется трехмерный звук
- •Развитие методов воспроизведения и записи объемного звука
- •Теоретические основы 3-х мерного звука
- •Трехмерный звук и персональные компьютеры
- •Разработка3d приложения
- •Постановка задачи
- •Обзор возможных вариантов исполнения и выбор из них оптимального
- •Что выбираем?
- •Сравниваемые параметры
- •СравнениеDirect3DиOpenGl
- •Окончательный выбор
- •Реализация
Окончательный выбор
Таблица 3. Обобщенные выводы по всем сравниваемым параметрам.
|
OpenGL |
Direct3D |
Поддерживаемые операционные системы и языки программирования |
ОС: Windows, Linux, MacOS, Silicon Graphics Workstations, BeOS и д.р. ЯП: C, Java, Assembly, Pascal и д.р. |
ОС: только семейство Windows ЯП: Microsoft Visual Studio; Microsoft Visual Basic; Неофициально Delphi. |
Производительность получаемых программ |
Сравнение не имеет смысла. | |
Архитектура и расширяемость |
|
|
Функциональность |
Обе библиотеки поддерживают все функции видеокарт. | |
Удобство использования. Размер и читаемость кода программы |
Простейшая программа - 50 строк. Простота процедурной модели |
Простейшая программа - 200 строк Сложность ООП и COM |
У каждой из этих двух библиотек есть свои плюсы и минусы, но по сумме параметров они практически одинаковы. Я выбрал DirectXиз-за того, что разрабатываемая программа должна воспроизводить 3Dзвук. ВDirectXвходит библиотека DirectSound для работы со звуком.OpenGLже со звуком вообще не работает, поэтому пришлось бы использовать стороннюю библиотеку на подобии OpenAL от Creative, что существенно осложнило бы разработку. И хотя основной минусDirectX- сложность в программировании, это восполняется обилием литературы поDirectX.
Реализация
Окно
разработанного приложения.
При запуске приложение позволяет выбрать оконный или полноэкранный режим и разрешение экрана. Сразу после этого отображается 3Dсцена с видом от первого лица. По сцене можно перемещаться с помощью мыши и стрелок на клавиатуре.
Звук издают два объекта на сцене:
1 – Неподвижный объект. Отображается динамиком. Включается и выключается кнопкой «1» на клавиатуре.
2 – Подвижный объект. Отображается в виде первого советского спутника земли . Включается и выключается кнопкой «2» на клавиатуре.
Список литературы:
Википедия. http://ru.wikipedia.org
iXBT. Что такое 3Dграфика?
http://www.ixbt.com/video/3dgrafx.html
iXBT. 3Dграфика. Теория
http://www.ixbt.com/video/3dalltech.html
Алексей Игнатенко. OpenGL и DirectX: взгляд изнутри
http://cgm.graphicon.ru/content/view/55/61/
Павел Надворный. Обзор современных 3D-видеостандартов.
http://www.compress.ru/article.aspx?id=10316&iid=425
Михаил Лукинов. 3D-акселераторы: новый виток развития.
http://www.dvgu.ru/meteo/PC/3DAcceler.htm
Иван Колганов. Краткая история и основные принципы работы 3D-ускорителей.
http://www.izcity.com/data/hard/print_article528.htm
Алексей Калиниченко. OpenGL vs. Direct3D.
http://www.compdoc.ru/prog/cpp/opengl_vs_direct3d/
Promit Roy. Direct3D vs OpenGL: Что выбрать.
http://www.begamer.ru/content.php?p=2&catId=3&id=1
Дмитрий Симаненков. Трёхмерный Звук: История, аппаратура, программное обеспечение, теория, искуственная голова, стерео, квадро, 3D, Часть 1.
http://www.geocities.com/SiliconValley/Pines/7899/3d.htm
Дмитрий Симаненков. Трёхмерный Звук: современное состояние, процессоры, программное обеспечение, применение, долби-домашний театр, искусственные головы-картинки, график АЧХ-головы, Часть 2
http://www.geocities.com/SiliconValley/Pines/7899/3d_sound_new/3d_s.htm
Ресурсы на английском
Wikipedia. Comparison of OpenGL and Direct3D.
http://en.wikipedia.org/wiki/Comparison_of_OpenGL_and_Direct3D
Richard Corner. Direct3D vs. OpenGL: A Comparison
http://www.xmission.com/~legalize/d3d-vs-opengl.html
Promit Roy. Direct3D vs. OpenGL: Which API to Use When, Where, and Why
http://www.gamedev.net/reference/articles/article1775.asp