11 проблем перехода с XNA 3.x на XNA 4.0
В этой статье будут рассмотрены 11 самых распространённых проблем связанных с переходм на XNA 4.0 с более ранних версий (XNA 3.x)
Alpha vs. Magenta
Всем известно, что спрайты у нас прямоугольные и чтобы сделать 2D изображение произвольной формы, мы используем спрайты с прозрачностью.
BOX-ы и физика
Простая функция вычисления box-а, стандартными средствами XNA. Взята из исходников Grav.
RTS Terrain : Offset vs Blocks
Делаете RTS, а тормозит как TBS? И при этом у вас есть большой ландшафт, а камера всегда сверху. Тогда я знаю как вам быстро помочь.
SimpleBoundingPryzm, рефлектор и все, все, все…
Вот здесь почти началась гражданская война в комментариях, но речь сейчас пойдет не об этом, а о том, что я обещал в одном из первых комментариев до начала распрей показать как на основе BoundingFrustum, который вообще говоря используя при camera culling обычно, т.е. при определении того, что попадает в обзор камеры и что мы собственно рендерить будем, так вот при помощи этого класса и пары крепких выражений мы попытаемся описать простую шестигранную призму. Задается BoundingFrustum обычно произведением матриц вида и проекции (и его полезно хостить как свойство в самописном классе камеры как раз для вышеописанных целей) и именно поэтому в чистом виде для наших целей малопригоден.
USB GamePad (Nuclex + XNA)
Эта статья предназначена для новичков в XNA и расскажет о том, как написать код, который может обрабатывать информацию о стандартном USB совместимом геймпаде используя некоторые библиотеки Nuclex.
XNA Content Pipeline (перевод статьи с блога команды XNA)
Итак, мы уже рассказали о XNA Game Studio Express, о XNA Framework, сегодня мы поговорим о Конвейере контента (Content Pipeline), который входит в состав XNA Framework. Как я уже отметил в докладе на Геймфесте – Конвейер контента можно описать как: «Расширенная, управляемая система обработки контента в C# Express».
XNA Framework (Перевод статьи с блога команды XNA)
В августе 2006-го компания Майкрософт анонсировала XNA Game Studio Express – инструмент, который позволит студентам и людям, хобби которых является программирование игр, создавать игры для PC и Xbox 360 с помощью C#. XNA Framework – это набор .NET библиотек, которые разработчики будут использовать для создания своих игр. В предверьи выхода бета версии, я бы хотел рассказать о ключевых особенностях XNA Framework – а именно задачах XNA Framework, что представляет собой XNA Framework и о средствах разработки, которые предоставляет XNA Framework.
Введение в XNA и Game Studio
XNA Game Studio Express - это набор инструментов предназначенный для разработки игр и ориентированный на студентов и разработчиков-любителей создающих игры как под Windows так и под Xbox 360. XNA Framework - это набор .NET-библиотек классов основанных на .NET 2.0 Framework адаптированных для разработки игр.
Виртуализация графического устройства в XNA 2.0/3.0
Перевод записи блога Shawn Hargreaves Blog (один из разработчиков XNA framework) об изменениях в графическом устройстве (GraphicsDevice).
Динамическое обновление ассетов в XNA
Динамическое обновление ассетов означает, замена оных во время выполнения приложения, эта функциональность довольно полезна при отладке и настройке игры.
Изменения при работе с RenderTargets в XNA 2.0/3.0
Перевод записи блогаShawn Hargreaves - одного из разработчиков XNA framework.
Использование перечисления в качестве ключа для словаря
Неявная генерация объектов в процессе работы .NET приложения является неоспоримым злом, а в процессе работы .NET приложения, которые по совместительству еще и являются играми реального времени, такое поведение и вообще смерти подобно. Сам по себе вызов сборки мусора к краху приложения конечно ни в коем случае не приведет, но желательно, чтобы их в процессе жизни нашего приложения происходило, как можно меньше. В данной статье я хочу рассмотреть довольно частый прием, который применяется программистами .NET – использование перечисления (enum) в качестве ключа для объекта словаря (Dictionary). Во-первых, применение данного метода удобно, объекты одного типа собраны в один контейнер и доступ к ним осуществляется фактически по имени (значение перечисления), IntelliSince тоже вносит свою немалую лепту в написании кода при таком подходе. Во-вторых, данный подход помогает избежать ошибок, в отличие от применения скажем string в качестве ключа.
Конвертация проектов XNA GS 3.0 -> 3.1
Инструкция по конвертации проектов.
Особенности быстродействия GPU
Для тюнинга C#-кода, который, как известно, выполняется на CPU, существует достаточно много инструментов профилирования, например можно использовать NProf, он распространяется свободно.
Мы рассмотрим случай, когда появляется необходимость профилировать именно GPU, а не CPU. Тут ситуация немного сложнее, особенно если вас интересует результат на XBox.
|