WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     || 2 | 3 | 4 | 5 |   ...   | 37 |
Оглавление Введение...................................................................................................................................................... 4 Для кого предназначена эта книга........................................................................................................ 4 История написания книги....................................................................................................................... 4 Структура книги....................................................................................................................................... 5 Требования к программному и аппаратному обеспечению............................................................... 5 Описание компакт диска........................................................................................................................ 5 Благодарности......................................................................................................................................... 5 Глава 1. Введение в XNA Framework.......................................................................................................... 6 OpenGL.................................................................................................................................................... 6 DirectX.................................................................................................................................................. 7 Managed DirectX....................................................................................................................................... 8 XNA Framework........................................................................................................................................ 9 1.1. Создание простейшего приложения, использующего XNA Framework....................................11 1.2. Визуализация шахматной доски...................................................................................................1.2.1. Конфигурирование DirectX для отладки приложения.........................................................1.2.2. Конфигурирование проектов в Visual Studio 2005................................................................1.2.3. Изменение размеров окна.....................................................................................................1.2.4. Восстановление работоспособности программы после потери устройства.........................Заключение................................................................................................................................................Глава 2. Визуализация примитивов.........................................................................................................2.1. Работа с вершинами примитивов.................................................................................................2.2. Основы визуализации примитивов..............................................................................................2.3. Введение в HLSL..............................................................................................................................2.3.1. Графический конвейер............................................................................................................2.3.2. Язык HLSL..................................................................................................................................2.3.3. Использование эффектов в XNA Framework..........................................................................2.4. Точки (PrimitiveType.PointList).......................................................................................................2.4.1. Проверка аппаратной поддержки вершинных шейдеров..................................................2.4.2. Управление размером точек..................................................................................................2.4.3. Визуализация набора точек....................................................................................................2.4.4. Управление цветом точек средствами HLSL.........................................................................2.5. Отрезки........................................................................................................................................2.5.1. Независимые отрезки (PrimitiveType.LineList)......................................................................2.5.2. Связанные отрезки (PrimitiveType.LineStrip).........................................................................2.6. Треугольники..............................................................................................................................2.6.1. Несвязанные треугольники (PrimitiveType.TriangleList).......................................................2.6.2. Веер треугольников (PrimitiveType.TriangleFan)...................................................................2.6.3.Полоса из связанных треугольников (PrimitiveType.TriangleStrip).......................................Заключение..............................................................................................................................................Глава 3. Усложненные технологии визуализации................................................................................3.1. Вывод на элементы управления.NET средствами XNA Framework.........................................3.2. Полноэкранный режим................................................................................................................3.2.1. Выбор оптимального видеорежима.



...................................................................................3.2.2. Получение списка доступных видеорежимов....................................................................3.2.3. Диалоговое окно выбора видеорежима.............................................................................3.3. Анимация......................................................................................................................................3.3.1. Использование события Idle.................................................................................................3.3.2. Использование высокоточного таймера Stopwatch...........................................................3.3.3 Управление вертикальной синхронизацией........................................................................3.3.4. Замена циклов foreach на for...............................................................................................3.3.5. Устранение зависимости движений диска от производительности компьютера..........3.4. Визуализация полупрозрачных примитивов.............................................................................3.4.1. Смешивание цветов..............................................................................................................3.4.2. Использование смешивания цветов для реализации эффекта полупрозрачности........3.4.3. Анимация построения фигуры Листажу..............................................................................Заключение..........................................................................................................................................Глава 4. Хранитель экрана.....................................................................................................................4.1. Реализация вращающегося диска..............................................................................................4.2. Фейерверк искр............................................................................................................................4.3. Преобразование приложения в хранитель экрана...................................................................4.4. Поддержка нескольких мониторов............................................................................................4.5. Диалоговое окно конфигурации хранителя экрана..................................................................4.5.1. Центрирование диалогового окна относительно Display Properties................................4.6. Визуализация в окне предварительного просмотра.................................................................4.7. Создание дистрибутива...............................................................................................................4.7.1. Использование Custom Actions............................................................................................4.7.2. Интеграция дистрибутивов.NET Framework 2.0 и XNA Framework 1.0.............................Заключение..........................................................................................................................................Глава 5. Вершинные шейдеры...............................................................................................................5.1. Математические вычисления в HLSL..........................................................................................5.1.1. Математические операторы.................................................................................................5.1.2. Работа с компонентами векторов........................................................................................5.1.3. Математические функции....................................................................................................5.1.4. Черно-белая закраска...........................................................................................................5.2. NVIDIA FX Composer 2.0................................................................................................................5.2.1. Формат COLLADA 1.4.1...........................................................................................................5.2.2. Знакомство с интерфейсом FX Composer 2.0......................................................................5.2.3. Создание нового проекта.....................................................................................................5.2.4. Анализ производительности эффекта.................................................................................5.3. Введение в языки Vertex Shader.................................................................................................5.3.1. Регистры.................................................................................................................................5.3.2. Команды.................................................................................................................................5.3.3. Разбираем код простого шейдера.......................................................................................5.4. Передача параметров в эффект..................................................................................................5.4.1. Работа с параметрами эффектов в XNA Framework...........................................................5.5. Шейдерный фейерверк...............................................................................................................5.5.1. Моделирование вращения диска........................................................................................5.5.2.





Оператор if языка HLSL.........................................................................................................5.5.3. Искры......................................................................................................................................5.5.4. Анализ производительности приложения..........................................................................Заключение..........................................................................................................................................Заключение..............................................................................................................................................Введение До недавнего времени создание высокопроизводительных графических приложений для платформы.NET было весьма нетривиальной задачей. Классические графические API такие как OpenGL и DirectX, невозможно непосредственно использовать в.NET приложениях, так как их подключаемые файлы рассчитаны на язык C++. Конвертация этих файлов в сборки.NET тоже не является решением проблемы:

активное использование в API OpenGL и DirectX указателей и специфичных возможностей C++ добавляет множество головной боли разработчикам, вынуждая активно использовать unsafe-код и нетривиальный маршалинг, не говоря о том, что на.NET зачастую переводится лишь “ядро” графического API без вспомогательных библиотек и примеров. Альтернативный вариант с выносом графической подсистемы приложения в отдельную сборку, разрабатываемую на C++/CLI с использованием родных заголовочных файлов API, тоже далек от идеала: C++/CLI предъявляет заметно более жесткие требования к квалификации программиста, но не все компании могут позволить себе нанять таких высокооплачиваемых разработчиков.

Для устранения образовавшегося пробела корпорация Microsoft выпустила XNA – инструментарий разработки кроссплатформенных игровых приложений для.NET, ориентированный на небольшие команды разработчиков. В основе XNA лежит библиотека XNA Framework – набор высокопроизводительных управляемых сборок.NET с множеством классов для работы с видео и аудио подсистемой компьютера, а так же периферийными устройствами вроде джойстиков. На платформе Windows библиотека XNA Framework работает через DirectX, но это отнюдь не.NET обертка над COM-объектами DirectX. Местами некоторые сходства, конечно, прослеживаются, но в целом иерархия классов была значительно переработана с учетом возможностей платформы.NET, в результате чего XNA Framework стал заметно проще в использовании. Более того, XNA Framework предоставляет разработчику множество высокоуровневых средств для использования в приложениях разнообразного контента: изображений, текстур, моделей, аудио и т.д. и т.п. К тому же классы XNA Framework не завязаны на специфичные возможности Windows, что позволяет теоретически запускать их на любой платформе, поддерживающей.NET Framework.

Вс это делает XNA очень привлекательным для использования не только в игровых, но и более “серьзных” приложениях, требовательных к производительности видеоподсистемы компьютера:

редакторов уровней, геоинформационных систем, CAD-приложений и т.п. Фактически вс, что требуется от разработчика для получения доступа к возможностям XNA: просто подключить к существующему проекту сборки XNA Framework. Но есть и небольшая ложка дегтя – использование XNA Framework совместно с Windows Forms несколько сложнее по сравнению с чисто игровыми приложениями, а текущая документация XNA Framework практически не содержит информации по такому “нештатному” применению XNA Framework.

Для кого предназначена эта книга Я адресую эту книгу студентам и начинающим разработчикам, которые хотят использовать в своих проектах высокопроизводительную графику. Книга рассчитана на читателей, уже знакомых с основами C# и платформы.NET.

История написания книги Изначально я планировал написать книгу под рабочим названием “Профессиональное программирование трехмерной графики на Managed DirectX 2.0”. Но после детального анализа российского книжного рынка оказалось, что в России практически отсутствуют книги по Managed DirectX, ориентированные на начинающих. Иными словами, на российском рынке ещ не сформировался спрос на продвинутые книги по Managed DirectX. Поэтому, не мудрствуя лукаво, я решил написать учебный курс по компьютерной графике с упором на практическое использование Managed DirectX, после чего перейти к более сложному материалу.

На первых порах вс шло по плану, я уже приступил к написанию главы, посвященной моделям освещения, как среди ясного неба грянул гром: работы над бета версией Managed DirectX 2.0 были прекращены, а приемником Managed DirectX 2.0 стал XNA Framework. Ситуация была тупиковой. Мне оставалось только одно: адаптировать материал для XNA Framework. Однако после детального знакомства с XNA Framework оказалось, что он значительно отличается от Managed DirectX, поэтому адаптированная книга получилась бы очень посредственной, что-то вроде книг по Visual C++.NET, в которых собственно.NET посвящена одна последняя глава.

В конце концов, я решился начать писать с нуля новую книгу по XNA Framework, но, к сожалению, из-за жесткого дефицита времени удалось написать только первые 5 глав, а после моего переезда в Москву написание книги окончательно встало. Честно говоря, я долго думал, стоит ли издавать незаконченную книгу, но после общения с читателями “бета-версий” глав пришел к выводу, что в условиях дефицита русскоязычной литературы по XNA Framework убирать этот уникальный материал в чулан было бы в высшей степени неразумно.

Pages:     || 2 | 3 | 4 | 5 |   ...   | 37 |










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.