| 
 Предисловие  Кто бы мог подумать:
    трехмерный синтез с наложением текстур в
    реальном времени на компьютере PC стоимостью в
    $1000! Такое стало возможным благодаря сочетанию
    невероятного роста вычислительной мощности
    процессоров с изощрениями разработчиков пакетов
    трехмерного синтеза, и, вероятно, отчасти
    благодаря появлению дешевых акселераторов
    трехмерной графики (хотя и без них, на <чистом>
    процессоре можно добиться превосходных
    результатов). Остается сущий пустяк - реализовать
    этот потенциал. Помимо самых разнообразных
    программных библиотек для работы с трехмерной
    графикой, рынок PC прямо-таки завален аппаратными
    ЗО-акселераторами. Несчастные разработчики игр,
    у которых и так хватало головной боли с
    совместимостью для всех обычных видеокарт,
    заведомо не смогут угнаться за дьявольской
    фантазией производителей ЗО-акселераторов.  Однако на сцене появляется
    Direct3D. Пакет выполняет функции посредника:  он объединяет схожие
    возможности различных аппаратных средств в
    едином API. Кроме того, Direct3D содержит собственный,
    вполне достойный механизм трехмерной
    визуализации (rendering). Отныне вам, разработчику игр
    (а может быть, дизайнеру САПР или <воскресному>
    программисту), остается лишь вызвать несколько
    простых функций, чтобы на экране, как по
    волшебству, заплясали трехмерные фигуры.  И все же без ложки дегтя
    дело не обходится - исходный вариант Direct3D
    проектировался в расчете на старый добрый язык С,
    а правоверные программисты нашего времени
    предпочитают объектно-ориентированный стиль
    популярного C++. В сущности, первое, что пытается
    сделать любой квалифицированный программист на
    C++, когда он сталкивается с новым API на языке С, -
    это создать классы-оболочки на C++.  Итак, мы сталкиваемся с
    двумя серьезными проблемами. В наши дни
    программисту приходится не столько писать свой
    собственный код, сколько думать о том, какую
    системную функцию следует вызвать. Кроме того,
    программисты желают <завернуть> API на языке С в
    <покрывало> C++. Познакомьтесь с Найджелом
    Томпсоном. Он решил за вас обе проблемы. С
    использованием его библиотеки, написанной на C++,
    вы сможете легко создавать изображения, для
    которых бы иначе потребовался убийственный
    объем кода на С с <сырыми> вызовами Direct3D.  Вы, читатель этой книги,
    выигрываете во многих отношениях. Вы знакомитесь
    с трехмерной графикой и можете работать с ней из
    C++. Direct3D позволяет создавать картинки независимо
    от того, какую комбинацию программных/аппаратных
    средств для трехмерной графики вы установили у
    себя на этой неделе. Отныне следует
    сосредоточить свое внимание на том, что
    рисовать, а не на том, как это делать. Найджел,
    впрочем, тоже выигрывает, поскольку вы купили его
    книгу. И я выигрываю тоже - я люблю игры, а теперь
    можно надеяться на появление новых хороших
    игрушек. Так что принимайтесь за дело!  Джим Блинн, специалист по
    компьютерной графике, Microsoft  Далее... |