Перейти на главную   
  helloworld.ru - документация и книги по программированию  
helloworld.ru - документация и книги по программированию
    главная     хостинг    
Поиск по сайту:  
Смотрите также
Языки программирования
C#
MS Visual C++
Borland C++
C++ Builder
Visual Basic
Quick Basic
Turbo Pascal
Delphi
JavaScript
Java
PHP
Perl
Assembler
AutoLisp
Fortran
Python
1C

Интернет-технологии
HTML
VRML
HTTP
CGI
FTP
Proxy
DNS
протоколы TCP/IP
Apache

Web-дизайн
HTML
Дизайн
VRML
PhotoShop
Cookie
CGI
SSI
CSS
ASP
PHP
Perl

Программирование игр
DirectDraw
DirectSound
Direct3D
OpenGL
3D-графика
Графика под DOS

Алгоритмы
Численные методы
Обработка данных

Сис. программирование
Драйверы

Базы данных
MySQL
SQL

Другое

Хостинг


Друзья
demaker.ru
Реклама

Лучший хостинг. Аренда серверов




helloworld.ru

Предисловие

Кто бы мог подумать: трехмерный синтез с наложением текстур в реальном времени на компьютере PC стоимостью в $1000! Такое стало возможным благодаря сочетанию невероятного роста вычислительной мощности процессоров с изощрениями разработчиков пакетов трехмерного синтеза, и, вероятно, отчасти благодаря появлению дешевых акселераторов трехмерной графики (хотя и без них, на «чистом» процессоре можно добиться превосходных результатов). Остается сущий пустяк — реализовать этот потенциал. Помимо самых разнообразных программных библиотек для работы с трехмерной графикой, рынок PC прямо-таки завален аппаратными ЗО-акселераторами. Несчастные разработчики игр, у которых и так хватало головной боли с совместимостью для всех обычных видеокарт, заведомо не смогут угнаться за дьявольской фантазией производителей ЗО-акселераторов.

Однако на сцене появляется Direct3D. Пакет выполняет функции посредника:

он объединяет схожие возможности различных аппаратных средств в едином API. Кроме того, Direct3D содержит собственный, вполне достойный механизм трехмерной визуализации (rendering). Отныне вам, разработчику игр (а может быть, дизайнеру САПР или «воскресному» программисту), остается лишь вызвать несколько простых функций, чтобы на экране, как по волшебству, заплясали трехмерные фигуры.

И все же без ложки дегтя дело не обходится — исходный вариант Direct3D проектировался в расчете на старый добрый язык С, а правоверные программисты нашего времени предпочитают объектно-ориентированный стиль популярного C++. В сущности, первое, что пытается сделать любой квалифицированный программист на C++, когда он сталкивается с новым API на языке С, — это создать классы-оболочки на C++.

Итак, мы сталкиваемся с двумя серьезными проблемами. В наши дни программисту приходится не столько писать свой собственный код, сколько думать о том, какую системную функцию следует вызвать. Кроме того, программисты желают «завернуть» API на языке С в «покрывало» C++. Познакомьтесь с Найджелом Томпсоном. Он решил за вас обе проблемы. С использованием его библиотеки, написанной на C++, вы сможете легко создавать изображения, для которых бы иначе потребовался убийственный объем кода на С с «сырыми» вызовами Direct3D.

Вы, читатель этой книги, выигрываете во многих отношениях. Вы знакомитесь с трехмерной графикой и можете работать с ней из C++. Direct3D позволяет создавать картинки независимо от того, какую комбинацию программных/аппаратных средств для трехмерной графики вы установили у себя на этой неделе. Отныне следует сосредоточить свое внимание на том, что рисовать, а не на том, как это делать. Найджел, впрочем, тоже выигрывает, поскольку вы купили его книгу. И я выигрываю тоже — я люблю игры, а теперь можно надеяться на появление новых хороших игрушек. Так что принимайтесь за дело!

Джим Блинн, специалист по компьютерной графике, Microsoft


[ Оглавление | Далее ]









helloworld.ru © 2001-2021
Все права защищены