Сообщений 1 Оценка 0 Оценить |
Задачи, связанные с различными аспектами компьютерной графики, возникают в самых различных сферах применения информационных технологий. Иногда они являются основой системы, как в играх и некоторых тренажерах, чаще играют важную вспомогательную роль, как в системах обучения, моделирования, управления технологическими процессами. Невозможно представить себе разработку компьютерной графики без использования технологий OpenGL и DirectX. В этой книге максимально подробно описываются обе эти технологии.
Помимо рассмотрения плоской и трехмерной графики, отдельная глава посвящена проблемам создания стереоизображений. Эта перспективная модель графики до сих пор не рассматривалась так подробно, и данная книга ликвидирует этот пробел.
На прилагаемом компакт-диске находится код всех приложений, которые рассматривались в качестве примеров.
Задачи, связанные с применением компьютерной графики, возникают в самых различных сферах информационных технологий. Иногда они являются основой системы, как в играх и некоторых тренажерах, но чаще играют важную вспомогательную роль в системах обучения, моделирования и управления технологическими процессами. Интерес к этим задачам традиционно высок. Почти каждый студент-первокурсник, выбравший компьютерную специальность, в глубине души уверен, что его профессия позволит всю оставшуюся жизнь если не играть за компьютером, то, по крайней мере, проектировать компьютерные игры.
Лучше всего построить книгу таким образом, чтобы изучение графики не требовало ни предварительных знаний, выходящих за пределы школьного курса информатики, ни привлечения дополнительной литературы. Книга и компьютер под рукой - этого достаточно, чтобы освоить разработку систем, активно использующих методы компьютерной графики. Но при этом пришлось бы начинать очень уж издалека, рискуя не добраться до графики. Компромиссное решение заключается в том, что у читателя не предполагается никаких начальных навыков программирования для Windows, необходимый минимум дан в первых главах. Но нужно иметь опыт программирования и отладки программ на языке С++ хотя бы в среде MS DOS.
Книга состоит из нескольких частей. В первой части изложен материал, позволяющий начинающим освоить создание полноценных оконных приложений, осмыслить принятую в операционной системе организацию вычислительного процесса, познакомиться с элементами API (Application Program Interface), которые обеспечивают взаимодействие ОС Windows с прикладной программой. Вторая и третья части посвящены решению задач плоской (2D) графики средствами стандартного графического интерфейса GDI (Graphic Device Interface).
Далее при изучении трехмерной графики приводятся реализация и сравнительный анализ решения типовых задач формирования трехмерных (3D) и стереоизображений средствами библиотек DirectX и OpenGL.
В данной книге нет подробного рассмотрения фундаментальных алгоритмов компьютерной графики и их программной реализации. Эти алгоритмы уже реализованы библиотеками и аппаратурой графических ускорителей, поэтому дается общее представление об их работе, необходимое для взаимодействия с графическими библиотеками. Было время, когда редкая книга по вычислительной технике обходилась без описания работы сумматора и алгоритмов ускоренного умножения. Но поскольку машинные команды даны нам как нечто неизменное и атомарное, стало понятно, что детали построения арифметико-логических устройств нужны весьма узкому кругу программистов. Аналогичный процесс происходит сейчас и в области компьютерной графики.
В коротких примерах, демонстрирующих возможности API, GDI, DirectX и других программных интерфейсов, автор сознательно избегал объектно-ориентированного подхода. Разработка собственной системы классов, инкапсулирующих вызовы изучаемых интерфейсов, упрощает работу с ними. Но при этом читатель отклоняется от деталей реализации самой графики. Целью же книги является максимально подробное исследование возможностей создания и обработки графических изображений. Объектно-ориентированное программирование использовалось только в нескольких более объемных проектах.
Автор надеется, что книга будет полезна как профессиональным программистам, осваивающим новую для себя область, так и начинающим пользователям в учебном процессе. Преподаватель найдет здесь обширный материал для формирования индивидуальных заданий по курсовому проектированию и лабораторным работам, а студент - хорошее пособие для выполнения этих заданий.
Сообщений 1 Оценка 0 Оценить |