|
|
OpenGL и DirectX, 3D
|
Книга предназначена для изучения программирования трехмерной компьютерной графики с использованием библиотеки OpenGL. Содержит необходимые теоретические сведения, подробные примеры и справочные материалы с описанием основных функций OpenGL. У читателя предполагается знание языка программирования C++ и основ линейной алгебры. Для широкого круга читателей, интересующихся программированием компьютерной графики. |
|
Рассматриваются основы DirectX, показаны приемы работы с фиксированным и программируемым графическими конвейерами, дана информация по применению профайлера PIX for Windows, необходимого для отладки программ в DirectX, подробно представлена информация об инструментариях ATI RenderMonkey 1.5 и NVIDIA FX Composer 1.5, позволяющих создавать и отлаживать шейдеры в DirectX и OpenGL. |
|
Описываются основные и наиболее популярные расширения библиотеки OpenGL, их использование на платформах Windows и Linux. Представлена реализация большого количества эффектов, созданных с помощью этих расширений. Показан механизм расширений и его использование для доступа к возможностям ускорителей с помощью языка шейдеров высокого уровня GLSL. Приведено много примеров реализации различных задач, решающихся с помощью расширений OpenGL. Изложенные в книге материалы помогут разработчикам при написании приложений, использующих трехмерную графику: игр, систем визуализации данных, систем проектирования. На компакт-диске содержатся полные тексты примеров, приведенных в книге, исходные коды авторских библиотек, вспомогательные программы. Для разработчиков графических приложений, студентов и аспирантов соответствующих специальностей. |
|
Практическое пособие по разработке кросс-платформенных шейдеров на языке OpenGL Shader Language (GLSL) в среде RenderMoiikey для использования в операционных системах Windows и Linux с различными версиями библиотеки OpenGL. Рассматривается написание и отладка вершинных и фрагментных шейдеров, использование шумовой функции в моделировании и основных моделей освещения, моделирование преломления и дифракции, обработка изображений на GLSL, работа с полигональными моделями, практическое применение GLSL в программах на C++ и работа с библиотеками libCamera, libTexture и libTexture3D. |
|
Рассмотрено использование популярной библиотеки DirectX при программировании графических эффектов в Delphi. Подробно описано применение основных методов и интерфейсов DirectX. Большое внимание уделено технологии использования вершинных и пиксельных шейдеров для создания реалистичных изображений. Показано, как эффективно программировать огонь, электрические разряды, зеркала и другие визуальные эффекты, используемые при разработке демонстрационных роликов (Demoscene). Компакт-диск, прилагаемый к книге, содержит листинги примеров из книги и дополнительную информацию по DirectX. Для программистов |
|
Рассмотрена разработка приложений с использованием технологии DirectX в среде программирования Borland Delphi. Подробно описаны все основные компоненты, входящие в состав DirectX: DirectX Graphics, DirectShow, Directlnput, DirectSound и DirectMusic. Показано создание собственных наборов классов, облетающих работу с различными компонентами DirectX. На практических примерах рассмотрена работа с двумерной и трехмерной графикой, шейдеры и язык HLSL, различные цветовые эффекты, работа с текстурой, освещением и т.д. Уделено внимание выводу изображения в оверлейном режиме, механизмам захвата изображения (на примере работы с web-камерой) и захвата звука. Представлены механизмы воспроизведения мультимедиаданных в различных форматах: AVI, MPEG, MP3 и др. Прилагаемый компакт-диск содержит исходные коды примеров, рассмотренных в книге, а также набор классов. Для программистов. |
|
Язык шейдеров OpenGL (OpenGL Shading Language, GLSL) является фундаментальной основой программирования с использованием OpenGL. Его применение дает беспрецедентную гибкость и широту возможностей, позволяет использовать мощь графического процессора (GPU) для реализации улучшенных приемов отображения и даже для произвольных вычислений. Версия GLSL 4.x несет еще более широкие возможности, благодаря введению новых видов шейдеров: шейдеров тесселяции и вычислительных шейдеров. В этой книге рассматривается весь спектр приемов программирования на GLSL, начиная с базовых видов шейдеров — вершинных и фрагментных, — и заканчивая геометрическими, вычислительными и шейдерами тесселяции. Здесь приводится множество практических примеров — от наложения текстур, воспроизведения теней и обработки изображений до применения искажений и манипуляций системами частиц. Прочтя ее, вы сможете задействовать GPU для решения самых разных задач, даже тех, что никак не связаны с формированием изображений. Издание предназначено для программистов трехмерной графики, желающих задействовать в своих проектах всю мощь современных программных и аппаратных средств |
|
WebGL является новой веб-технологией, позволяющей использовать в браузере преимущества аппаратного ускорения трехмерной графики без установки дополнительного программного обеспечения. WebGL основана на спецификации OpenGL и привносит новые концепции программирования трехмерной графики в веб-разработку. Снабженная большим количеством примеров, книга показывает, что овладеть технологией WebGL совсем несложно, несмотря на то, что она выглядит незнакомой и инородной. Каждая глава описывает один из важнейших аспектов программирования трехмерной графики и представляет разные варианты их реализации. Отдельные разделы, описывающие эксперименты с примерами программ, позволят читателю исследовать изучаемые концепции на практике. Издание предназначено для программистов, желающих научиться использовать в своих веб-проектах ЗD-графику. |
|
OpenGL ES — это ведущий интерфейс и графическая библиотека для рендеринга сложной трехмерной графики на мобильных устройствах. Последняя версия, OpenGL ES 3.0, делает возможным создания потрясающей графики для новых игр и приложений, не влияя на производительность устройства и время работы аккумулятора. Авторы рассматривает весь API и язык для написания шейдеров. Они внимательно рассматривают возможности OpenGL ES 3.0, такие как теневые карты, дублирование геометрии, рендеринг в несколько текстур, uniform-буфера, сжатие текстур, бинарное представление программ и преобразование обратной связи. При помощи детальных, скачиваемых примеров на С, вы узнаете как задавать и программировать каждый аспект графического конвейера. Шаг за шагом, вы перейдете от вводных примеров к продвинутому попиксельному освещению и системам частиц. В книге вы найдете содержательные советы по оптимизации быстродействия, максимизации эффективности работы API и GPU и полном использовании OpenGL ES 3.0 в широком спектре приложений. Весь код был собран и проверен на iOS 7, Android 4.3, Windows (эмуляция OpenGL ES 3.0) и Ubuntu Linux и авторы показывают как собрать примеры для каждой платформы. Рассматриваются следующие темы: — использование EGL API для взаимодействия с оконной системой, выбора конфигурации и создания контекста для рендеринга и поверхностей; — шейдеры, создание и подключение объектов-шейдеров, компиляция шейдеров, проверка на ошибки компиляции, создание, сборка и опрос состояния для объектов-программ и использование шейдеров в виде исходных текстов и в бинарной форме; — язык для написания шейдеров OpenGL ES: переменные, типы, конструкторы, структуры, массивы, атрибуты, uniform-блоки, входные и выходные переменные, описатели точности и инвариантности; — геометрия, вершины и примитивы, передача геометрии в конвейер и сборка из нее примитивов; — создание двухмерных, трехмерных, кубических текстур и массивов текстур, их загрузка и использование при рендеринге, режимы отсечения текстурных координат, фильтрация и форматы текстур, сжатые текстуры, объекты-сэмплеры, неизменяемые текстуры, буфера для распаковки пикселов и пирамидальное фильтрование; — фрагментные шейдеры: мультитекстурирование, туман, альфа-тест и задаваемые пользователем плоскости отсечения; — фрагментные операции: отсечение по прямоугольной области, тесты трафарета и глубины, мультисэмплинг, смешивание цветов и растрирование; — объекты-фреймбуферы: рендеринг во внеэкранные поверхности для продвинутых эффектов; — продвинутый рендеринг: попиксельное освещение, имитация отражения окружающей среды, системы частиц, постобработка изображений, процедурные текстуры, теневые карты, ландшафт и проективное текстурирование; — объекты синхронизации и барьеры: синхронизация с приложением и выполднением на GPU. |
|
Это первая в мире книга по новой версии популярнейшего языка высокого уровня Visual Basic 2005 или 2008. Разработаны методологии создания вычислительных систем, двухмерной и трехмерной графики, мультимедиа, анимации, мультипликации, аудио, видео и игр на основе Visual Basic 2005 или 2008 и новейшей технологии DirectX 9.0с или 10. Впервые в мире приведены мощные программы на всех главных языках Visual Basic, Visual C# и Visual C++ версий 2002-2008 годов для построения и управления разнообразными трехмерными телами, поверхностями и линиями уровней этих поверхностей в трехмерном пространстве. Применен новейший синтаксис Visual C++ 2005. Мультимедийные приложения и игры основаны на технологии Microsoft Agent, которая позволяет создавать и включать в Windows и Web-приложения интерактивные (через голосовые команды в микрофон) анимационные персонажи. Все программы даны также и на компакт-диске. |
|
«Это первая и единственная в мире книга по методологиям разработки двухмерных и трехмерных игр и разнообразных приложений для настольных компьютеров и ноутбуков на основах самого популярного, совершенного и перспективного языка программирования высокого уровня Visual Basic 2005 или 2008 и самой известной, современной и перспективной технологии DirectX 9.0с или 10 самой мощной корпорации Microsoft. В части I даны краткие основы Visual Basic. В части II подробно с большим количеством примеров приведена общая обучающая методология проектирования типичных и широко распространенных игр. Согласно классификации описаны методологии программирования известных двухмерных игр со звуковым сопровождением: в части III — сборка разрезанной картины заменой местами ее масштабируемых частей; IV — две игры в крестики-нолики как игрока с компьютером с искусственным интеллектом, так и двух игроков; V — две игры в виде змейки, которая поедает куски пищи и за счет этого увеличивается по длине, на основе одного и 4-х файлов; VI — игра типа «Поле чудес» по угадыванию слова по буквам при заданном количестве попыток; VII — две игры типа «Тетрис» по сборке сплошных полос из разнообразных фигур с формами для имени игрока, результатов и справкой по игре; VIII — две игры по сборке и выбиванию фигур одинакового цвета; IX — ролевая сюжетная игра на примере сюжета о пещерных людях Адаме и Еве; X — игра с воздушными боями ракетами из вертолета игрока по самолетам и вертолетам (различных типов) противника; XI — игра в теннис; XII — полностью функциональная карточная игра в покер; XIII — игра в кости с двумя кубиками; XIV — математическая игра; XV — игра по генерированию летающих объектов; XVI — вспомогательные в играх объекты на примере цифровых часов. В части XVII описана трехмерная теория DirectX и методология проектирования на панели визуализации в виде различных элементов управления одной или нескольких неподвижных или подвижных плоских или пространственных фигур. Дана теория: проектирования методами класса Mesh широко распространенных на практике фигур в сплошном и каркасном режимах визуализации; создания вращающихся сложных сетчатых объектов в виде файлов самого популярного формата (.х); использования эффект-файлов формата (.fx) и вершинного и пиксельного шейдеров на высокоуровневом языке шейдера (high-level shader language-HLSL); создания скелетной анимации на примере модели человека; воспроизведения звуковых файлов. На основании этой теории DX в части XVIII представлена методология программирования типичных и широко распространенных трехмерных игр на примере игры по управлению автомобилем, едущим по дороге, на которой случайным образом появляются разнообразные препятствиями, и нужно объехать как можно больше препятствий до столкновения. В части XIX разработана методология формоизменения геометрических объектов в играх и разнообразных задачах учебы, науки и техники. В части XX описана методика передачи пользователю разработанных приложений. Все программы из книги и с компакт-диска могут быть вставлены в игры и приложения VS и DX 2002-2008 годов. Книга предназначена для всех желающих быстро изучить основы программирования двухмерных и трехмерных игр и приложений на базе самых совершенных (в мире программирования) языка высокого уровня Visual Basic и технологии DirectX последних версий 2002-2008 годов.» |
|
Рассмотрено создание графических приложений для Windows на C++ с использованием новой версии компонента Direct3D 10, входящего в состав библиотеки DirectX 10. Описывается вывод двухмерной и трехмерной графики, связанное с этим программирование вершинных, пиксельных и геометрических тендеров на языке HLSL. Отдельная часть книги посвящена быстрой разработке приложений с помощью библиотеки DXUT (DirectX Utility). Материал сопровождается практическими примерами, а также справочником функций библиотек DirectX 10 и DXUT. На прилагаемом компакт-диске находятся все исходные тексты примеров, рассмотренных в книге. |
|
Это первая в мире книга по созданию игр и приложений со звуковыми эффектами в трехмерном пространстве на основе самого современного, совершенного и популярного языка программирования высокого уровня Visual C# 2005 или 2008 и самой мощной и перспективной технологии DirectX 9.0с или 10. В начале книги кратко описана методология проектирования на панели визуализации в виде различных элементов управления одной или нескольких неподвижных или подвижных плоских или пространственных фигур. Дана теория: проектирования методами класса Mesh широко распространенных на практике фигур в сплошном и каркасном режимах визуализации; создания вращающихся сложных сетчатых объектов в виде файлов самого популярного формата (.х); использования эффект-файлов формата (.fx) и вершинного и пиксельного шейдеров на высокоуровневом языке шейдера (high-level shader language — HLSL); создания скелетной анимации на примере модели человека; воспроизведения звуковых файлов. На основании этой теории представлены методологии программирования типичных и широко распространенных трехмерных игр с управлением от клавиатуры, мыши, джойстика и др. Первая игра заключается в управлении автомобилем, едущим по дороге, на которой случайным образом появляются разнообразные препятствиями, и нужно объехать как можно больше препятствий до столкновения. Идея второй игры состоит в перемещений смешного персонажа и закрашивании кубиков, из которых составлен лабиринт, причем после успешного завершения игры на одном уровне игра переходит на более сложный уровень. В третьей игре один игрок, играя со своим компьютером, или несколько игроков за связанными через Интернет компьютерами управляют танками и ведут боевые действия, преодолевая заграждения противника. В четвертой игре сконструирована спортивная гонка на микроавтомобилях — картах на треке с виражами. Все фигуры во всех играх имеют вид сложных трехмерных сетчатых объектов со сложными текстурами и тендерами. Так как программы, разработанные корпорацией Microsoft для всех игр, являются очень мощными, то они могут быть использованы не только при программировании самых разнообразных игр, но и на практике в различных трехмерных приложениях, например, при проектировании автомобильной и военной техники. Разработана методология формоизменения геометрических объектов в играх и разнообразных задачах науки и техники. Описана методика передачи пользователю разработанных приложений. Все программы и проекты из книги и компакт-диска могут быть вставлены в игры и приложения VS и DX 2002 — 2009 годов. Книга предназначена для всех желающих быстро изучить самую современную, совершенную и мощную технологию DirectX при разработке трехмерных игр и приложений на основе самою совершенного (в мире программирования) языка высокого уровня новейшей версии Visual C# 2008, сразу же создавать на этом языке последних версий (Visual C# 2005 или 2008, Visual C# .NET 2003 и Visual C# .NET 2002) профессиональные игры и приложения со сверхмощной трехмерной графикой DirectX и применять эти игры и приложения на практике в разнообразных сферах деятельности. Также адресована начинающим и опытным пользователям, программистам любой квалификации, а также учащимся и слушателям курсов, студентам, аспирантам, преподавателям, научным работникам и ученым. |
|
Это первая в мире книга по методологиям проектирования трехмерных приложений и игр со звуковым сопровождением на основе самой совершенной и перспективной технологии DirectX 9.0с или 10 под управлением самого современного, популярного и перспективного языка программирования высокого уровня Visual C# 2005 или 2008 из Visual Studio 2005 или 2008 самой мощной корпорации Microsoft. Подробно с большим количеством примеров описана методология проектирования на панели визуализации в виде различных элементов управления одной или нескольких неподвижных или подвижных плоских или пространственных фигур. Показано построение сетчатых объектов в виде файлов самого популярного (в трехмерной графике) формата (.х) на примерах куба (cube.x), сферы (sphere.х), дороги (road.x), автомобиля (саг.х), тигра (tiger.х), модели человека (Tiny.x) и других объектов с использованием различного уровня разбиения этих объектов, динамических текстур, спрайтов, окружающей среды в виде сетчатого объекта неба с кубической текстурой. Описана методология программирования игр на примере типичной и широко распространенной игры по управлению автомобилем, едущим по дороге с препятствиями. Приведены методики использования непрограммируемого и программируемого графических конвейеров визуализации, effect-файлов формата (.fx), а также вершинного (vertex shader) и пиксельного (pixel shader) шейдеров на высокоуровневом языке шейдера (high-level shader language — HLSL) при проектировании сцен с разнообразными фигурами, смешиванием текстур и моделей освещения, моделированием световых бликов на объектах из металла и разноцветного неметалла. Дана методология создания скелетной анимации и методика проектирования анимированного сложного сетчатого объекта на примере модели шагающего человека. Разработана методология формоизменения геометрических объектов для использования как при программировании игр, так и при решении самых разнообразных практических задач в науке и технике. Приведены методики программирования одиночного или непрерывного воспроизведения звукового файла в двухмерном и трехмерном пространствах со многими звуковыми эффектами. Описана методика передачи пользователю разработанных нами приложений с трехмерной графикой и звуковым сопровождением. Все программы из книги и с прилагаемого компакт-диска могут быть вставлены в различные приложения DirectX 9.0c, DirectX 10 и Visual Studio 2002-2009 годов. Книга предназначена для всех желающих разрабатывать трехмерные практические приложения и компьютерные игры для учебного процесса, научных исследований, промышленности и досуга на основах самой мощной технологии DirectX 9.0с или 10 и главного (в мире программирования) языка высокого уровня Visual C# 2005 или 2008. |
|
Рассматриваются вопросы физического моделирования окружающего мира при разработке компьютерных игр. Кроме собственно физики в книге приводятся примеры практического применения физических моделей в играх. Описание простой платформы физического моделирования затем переходит в плоскость изложения принципов моделирования отдельных физических явлений, применимых к играм. Рассматриваются вопросы программирования приложений с использованием созданных инструментов. Представленные в книге модели написаны на C++ с применением DirectX и компилировались в VS.NET. К книге прилагается компакт-диск, содержащий все примеры и необходимый инструментарий. Для чтения книги достаточно знания физики и математики в пределах школьного курса и первичного опыта программирования на C++. Для программистов компьютерных игр, студентов и старшеклассников, интересующихся программированием. |
|
«Управляемый DirectX9 расширяет возможности программирования игр и графики. Книга позволяет изучить возможности использования Управляемого DirectX при разработке различных графических и мультимедийных приложений. В данной книге рассмотрены как основы программирования 3D-графики, так и более сложные разделы, например, управление уровнями детализации mesh-объектов, использование высокоуровневого языка шейдеров и символьной анимации. В книге уделено достаточное внимание таким важным вопросам, как управление звуком и устройствами ввода или добавление звуковых эффектов и джойстика с обратной связью. Материал книги «Managed DirectX 9» направлен в большей степени на непосредственное создание полнофункциональных мультимедийных приложений, нежели на изучение излишнего языкового синтаксиса. Мы полагаем, что читатель этой книги уже знаком с языком C# (или Visual Basic .NET) и средой .NET Runtime. Автор этой книги имеет огромный опыт разработки приложений с помощью DirectX с Управляемым кодом и является своего рода первоисточником информации в данной области. Том Миллер является ведущим разработчиком API Managed DirectX. В течении последних четырех лет он участвовал в разработке DirectX API, включая SDK и DirectX для Visual Basic. Перед этим он работал в группе разработчиков Visual Basic и Office корпорации Microsoft.» |
|
Эта книга является первым русским изданием третьей редакции официального справочника по OpenGL, подготовленным Наблюдательным Советом по Архитектуре OpenGL и компанией SGI. Материал в книге расположен так, что позволяет читателю быстро и эффективно найти в огромной графической библиотеке OpenGL нужную команду или константу, познакомиться с основными идеями и принципами реализации той или иной команды, понять, как работает та или иная команда, а также разобраться с общей архитектурой OpenGL. Книга написана достаточно строго, но понятно, и рассчитана на широкий круг читателей — от новичков до специалистов, уже работающих с OpenGL. Книга будет полезна многим профессионалам компьютерной графики. Она может служить в качестве ценного справочного учебного пособия и для студентов, изучающих компьютерную графику. Преподаватели тоже найдут здесь идеальный справочный материал, который позволит глубже и эффективнее использовать в учебном процессе идеи и методы современной компьютерной графики. |
|
Рассматривается практическое применение библиотек GDI+ и DirectX 9.0 в среде Visual C++ и C# при программировании графики. Подробно изложены возможности библиотеки GDI+: рисование векторных примитивов сложной формы с градиентной заливкой; управление прозрачностью векторных и растровых объектов; поддержка форматов графических файлов (BMP, GIF, TIFF, JPEG и др.); вывод растров с наложением альфа-канала, масштабированием, растяжением, искажением и поворотом. Описано использование компонента Direct3D, входящего в состав DirectX Graphics, от построения объектов из примитивов до добавления реалистичных спецэффектов. Уделено внимание вопросам создания многопоточных приложений с MDI-интерфейсом. Описаны особенности разработки приложений для платформ Windows и .NET. В приложении приведены базовые понятия и определения, математический аппарат преобразований на плоскости и в пространстве, а также построение кривых и поверхностей. Компакт-диск содержит тексты программ и примеры созданных или обработанных изображений. Для программистов. |
|