Непрерывное снижение цен, рост производительности в наше время и ожидаемое появление новых микро- и супер-микрокомпьютеров делают мощь системы UNIX доступной для все большего круга пользователей. Системы UNIX или типа UNIX работают на любых машинах, от уровня PC-XT до AT и выше. Доступность больших объемов оперативной памяти и мощных микропроцессоров привела к возрастанию интереса к многозадачности, системам мультипроцессирования - сфере, в которой UNIX имеет солидную репутацию.
Однако применение UNIX с максимальной отдачей - дело нелегкое. Люди годами высказывали неудовлетворение тем, что она не является "дружественной" по отношению к пользователю - и это разумная критика, хотя на самом деле UNIX содержит средства для построения интерфейсов любого требуемого уровня сложности. Наиболее важная причина трудоемкости эффективного использования UNIX состоит в том, что в системе используются очень плодотворные идеи, не знакомые многим людям, работавшим с более простыми операционными системами. UNIX предоставляет также гораздо больше инструментальных средств, более гибких и с существенно большими возможностями, чем, например, популярная MS-DOS (в чем можно убедиться беглым сравнением соответствующих руководств). Вероятно, Вы, читатель, начинали с изучения UNIX в объеме, достаточном для решения конкретных задач в вашей системе, будь то текстовая обработка и форматирование текстов, программирование или запуск статистических пакетов. Через некоторое время вы, видимо, накопили (от других людей или в результате собственной работы) небольшой набор приемов, включающий, возможно, некоторый опыт простого программирования для интерпретатора командного процессора.
Эта книга представляет собой введение в программирование интерактивной трехмерной компьютерной графики с использованием DirectX9.0, в котором основное ударение делается на разработку игр. Прочитав ее, вы изучите основы Direct3D, после чего сможете перейти к изучению и применению более сложных технологий. Раз вы держите в руках эту книгу, у вас есть начальное представление о том, что представляет собой DirectX. С точки зрения разработчика DirectX - это набор API (интерфейсов программирования приложений) для разработки мультимедйных приложений на платформе Windows. В этой книге мы сосредоточимся на ограниченном подмножестве DirectX, называемом Direct3D. Как видно из названия, Direct3D - это API, используемый для разработки приложений с трехмерной графикой.
Книга разделена на четыре части. В первой части исследуются математические инструменты, применяемые в остальных частях книги. Во второй части объясняются базовые технологии трехмерной графики, такие как освещение, текстурирование, альфа-смешивание и работа с трафаретами. Третья часть посвящена использованию Direct3D для реализации различных более интересных техник и приложений, таких как выбор объектов, визуализация ландшафтов, системы частиц, настраиваемая виртуальная камера, а также загрузка и визуализация трехмерных моделей (X-файлов). Темой четвертой части являются вершинные и пиксельные шейдеры, включая каркасы эффектов и новый (появившийся в DirectX 9.0) высокоуровневый язык шейдеров. Настоящее и будущее трехмерных игр неразрывно связано с использованием шейдеров, и, посвящая им целую часть, мы хотели получить книгу, соответствующую современному состоянию дел в программировании графики.
В процессе старта системы и проведения POST-теста возможны различного рода аппаратные ошибки, сопровождаемые параллельным выводом на экран монитора соответствующих сообщений. Некоторые из приведенных ниже сообщений несколько утратили свою актуальность, некоторые просто отсутствуют. Умышленно выведены, например, из этого перечня сообщения об ошибках с EISA-шиной. В остальном, этот материал будет несомненно полезен.
Стратегическое планирование сетей масштаба предприятия
Корпоративная сеть - это сложная система, включающая тысячи самых разнообразных компонентов: компьютеры разных типов, начиная с настольных и кончая мейнфремами, системное и прикладное программное обеспечение, сетевые адаптеры, концентраторы, коммутаторы и маршрутизаторы, кабельную систему. Основная задача системных интеграторов и администраторов состоит в том, чтобы эта громоздкая и весьма дорогостоящая система как можно лучше справлялась с обработкой потоков информации, циркулирующих между сотрудниками предприятия и позволяла принимать им своевременные и рациональные решения, обеспечивающие выживание предприятия в жесткой конкурентной борьбе. А так как жизнь не стоит на месте, то и содержание корпоративной информации, интенсивность ее потоков и способы ее обработки постоянно меняются. Последний пример резкого изменения технологии автоматизированной обработки корпоративной информации у всех на виду - он связан с беспрецедентным ростом популярности Internet в последние 2 - 3 года.
Изменения, причиной которых стал Internet, многогранны. Гипертекстовая служба WWW изменила способ представления информации человеку, собрав на своих страницах все популярные ее виды - текст, графику и звук. Транспорт Internet - недорогой и доступный практически всем предприятиям (а через телефонные сети и одиночным пользователям) - существенно облегчил задачу построения территориальной корпоративной сети, одновременно выдвинув на первый план задачу защиты корпоративных данных при передаче их через в высшей степени общедоступную публичную сеть с многомиллионным "населением". Стек TCP/IP сразу же вышел на первое место, потеснив прежних лидеров локальных сетей IPX и NetBIOS, а в территориальных сетях - Х.25.
С течением времени бизнес-приоритеты изменяются. Предприятия реорганизуются, приобретают другие предприятия, “наращивают мускулы” некоторых приложений и сокращают использование других. При всех этих изменениях компании сталкиваются с проблемой эффективного и экономного предоставления своих ресурсов для приведения их в соответствие с бизнес-приоритетами. Чтобы получить данные там, где вы этого хотите, и когда вы испытываете в них необходимость, требуются сложные технологии интеграции информации.
Oracle Database 10g предлагает устойчивые и полные решения для разрешения всех ваших требований к интеграции информации. Эти решения обеспечивают доступ к информации тогда и в том месте, где в ней возникает необходимость, оптимизируя доступ к этой информации независимо от ее физического местоположения. Они интегрируют информацию во всей распределенной среде, будь то в пределах grid, или для нескольких автономных систем, или для некоторой их комбинации.
Как перестать беспокоиться и начать программировать
Хочу обратить внимание читателей, что никаких откровений или мыслей, блистающих особой глубиной/новизной, вы здесь не найдёте. Просто прикладной программист среднего (или чуть выше) уровня излагает свои соображения, рождённые опытом работы, и иллюстрирует их конкретными примерами работающего инструментария.
Ещё раз подчёркиваю, что по всем вопросам изложена моя личная точка зрения. Я открыт для конструктивной дискуссии и с радостью восприму все замечания, исправления и дополнения к исходным текстам.
Предполагается, что читатель знаком с основными принципами объектно-ориентированного программирования и разработки приложений.
Последовательность изложения: вначале будет описана совокупность инструментов. Это займёт несколько статей (глав) – вместе с исходными текстами и примерами использования.
Благодаря стандартизации и унификации технических и программных средств ЭВМ создаются необходимые условия для создания информационных вычислительных систем, сетей ЭВМ, многомашинных и многопроцессорных вычислительных комплексов. С появлением вычислительных систем ЭВМ превращается в вычислительный инструмент принципиально нового качества. Теперь на базе технических и программных средств становится возможной одновременная обработка программ многочисленных пользователей, распределенных на неограниченной территории и имеющих прямой и независимый друг от друга доступ к ресурсам ЭВМ.
В последние десятилетия в результате интенсивного развития микроэлектроники вычислительная техника практически полностью перешла на использование микропроцессорных средств, реализуемых на больших и сверхбольших интегральных схемах. Микропроцессор представляет собой устройство обработки информации, аналогичное по структуре и выполняемым функциям процессору предыдущих поколений ЭВМ. На базе микропроцессоров создаются новые по характеру использования вычислительные устройства - персональные ЭВМ, что способствует дальнейшему вовлечению в активную работу с ЭВМ широкого круга пользователей. Они становятся эффективным средством повышения производительности труда инженеров, технологов, конструкторов, работников сферы управления, экономики, образования, бизнеса, бытового обслуживания и др.
Многие отрасли техники, имеющие отношение к получению, обработке, хранению и передаче информации, в значительной степени ориентируются в настоящее время на развитие систем, в которых информация имеет характер изображений. Изображение, которое можно рассматривать как двумерный сигнал, является значительно более емким носителем информации, чем обычный одномерный (временной) сигнал. Вместе с тем, решение научных и инженерных задач при работе с визуальными данными требует особых усилий, опирающихся на знание специфических методов, поскольку традиционная идеология одномерных сигналов и систем мало пригодна в этих случаях. В особой мере это проявляется при создании новых типов информационных систем, решающих такие проблемы, которые до сих пор в науке и технике не решались, и которые решаются сейчас благодаря использованию информации визуального характера.
В связи с этим, в вузовских программах появляются дисциплины, направленные на изучение принципов обработки изображений, причем, приоритетное внимание уделяется цифровым методам, привлекательным своей гибкостью. Отсутствие учебной литературы является сильным препятствием данному изучению, что и побудило авторов к написанию пособия. Следует отметить, что ограниченный объем не позволил охватить многие важные аспекты проблемы цифровой обработки изображений. Авторы пособия, читающие курс цифровой обработки изображений в НГТУ и НГУ, исходили из своих представлений о важности тех или иных разделов, а также опирались на многолетний научно-исследовательский и педагогический опыт.
Цифровая обработка
Всемирная паутина (WWW) широко проникла в современную жизнь. Просмотр страниц Web и использование e-mail стали повседневной деятельностью большинства людей, и кажется, что эти технологии существовали всегда. Конечно, базовая технология Интернет существует уже не менее 40 лет, но паутина Web появилась совсем недавно, ее основное развитие происходило только в последнее десятилетие.
Подобно большинству технологий Web возникла на основе предшествующих разработок, никак не предвещавших конечную форму, которую они могут принять. Технология начиналась с нарождающимся чувством некоторой цели, которая затем навсегда отклонилась в области, никак не предполагавшихся в начале. Историческое развитие этих базовых технологий представляет собой интересный холст, на котором рисуется портрет все еще юной и незрелой Web.
В последнее время (ну теперь уже в предпоследнее) появилось очень много программ для моделирования, анимации и визуализации трехмерных миров. Каждая из них по-своему хороша, однако лучшее сочетание простоты управления и эффектности конечного результата удалось создать, как мне кажется, разработчикам из Discreet, Inc. (ранее Kinetix). Действительно, став самой распространенной и мощной настольной программой, 3D Studio Max обратил на себя внимание не только новичков, но и профессионалов. Однако
первых не должны пугать многочисленные возможности, заложенные в Мах для вторых, - программа позволяет успешно работать и тем, и другим, - каждому на своем уровне.
Руководство Администратора межсетевого экрана Акер 3.01
Максимальное число сетевых адаптеров ограничивается только аппаратными возможностями компьютера. Если требуется большое число сетевых интерфейсов, можно использовать адаптеры с несколькими портами. Ниже приведен список адаптеров, поддерживаемых версией FreeBSD 2.2.5:
Ответственность за представленный ниже список аппаратного обеспечения несет непосредственно FreeBSD. Aker Consultancy и Informatique не несет ответственности за правильность этого списка, включенного сюда только для информации. Перед приобретением сетевого адаптера проверьте, поддерживается ли он операционной системой.
Простая и понятная нумерация версий Flash вдруг прервалась: очередная версия пакета получила условное наименование MX. Что обозначают сии буквы, можно только догадываться, поскольку даже в пресс-релизе компании Macromedia по этому поводу не сказано ни слова. По всей видимости, аббревиатура должна ассоциироваться у пользователей со словосочетанием Multiextended (дословно — «много расширенный»).
А возможно, и с одним словом — Mixed (смешанный), поскольку разработчики Flash обращают внимание пользователей на то, что интерфейс (рабочая среда) пакета
может быть настроен индивидуально для любой категории пользователей: дизайнеров, программистов, проектировщиков и т. д. Кроме того, в новой версии значительно
расширены возможности по работе с цветом: различные оттенки можно смешивать самым произвольным образом. Так или иначе, введя новое обозначение, создатели пакета ясно дают понять: приобретая Flash MX, вы получаете в свое распоряжение существенно обновленный инструмент. Ну что же, в значительной степени они правы. Судите сами.
Anjuta 1.2.2 — среда разработки на C/C++ и других языках для среды GNOME.
Glade 2.5.0 — инструмент проектирования интерфейсов программы для LibGlade или использования отдельно.
LibGlade 2.4.0 — библиотека для создания виджетов на GTK, описываемых файлом Glade, и некоторые полезные функции.
Опционально рекомендую установить DevHelp — это справочная система с модулями для разных средств. Необходимо установить модуль с GTK2.0 API. Чаще всего он идет в комплекте с самой программой.