Visual Studio vNext для разработчика игр

Источник: habrahabr
habrahabr

Visual Studio vNext для разработчика игр

В этой статье я хотел бы рассказать о некоторых нововведениях в Visual Studio 11 Developer Preview, касающихся разработки DirectX-приложений.



DirectX


Ни для кого не будет сюрпризом тот факт, что видеоигры сегодня являются огромной индустрией и значительная их часть базируется на технологии DirectX. В Visual Studio 11 мы серьёзно поработали над тем, чтобы сделать процесс разработки таких игр проще, удобнее и быстрее. Основной упор был сделан на следующие три вещи: шейдеры, ресурсы, отладка.

Шейдеры


Шейдер - это кусочек кода, который выполняется на GPU (например для рассчета какого-нибудь эффекта). При использовании DirectX шейдеры, как правило, пишутся на HLSL (высокоуровневый шейдерный язык). Visual Studio 11 включает несколько улучшения для HLSL - от написания и компиляции до подсветки и форматирования кода:

Кроме возможности писать код вручную у разработчика теперь есть возможность воспользоваться визуальным инструментом, который позволит создавать эффекты графически, без необходимости писать код. Это очень удобно - можно экспериментировать и видеть, что получается на каждом шаге. Вот, например, простой пример шейдера, который берёт два константных цвета и соединяет их вместе:

Далее Visual Studio позволяет экспортировать этот граф в HLSL:

Вы можете создавать довольно сложные эффекты в этом редакторе, который также имеет режим реального времени, позволяющий наблюдать эффекты, изменяющиеся во времени. Вот пример, который наша команда разработки использует в качесте тест-кейса. К сожалению, скриншот этого не передаёт, но многие из узлов данного графа содержат анимацию:

Ресурсы


Одной из главных особенностей разработки игр является большое количество ресурсов, не встроенных непосредственно в код. Исторически сложилось так, что работать с этими файлами программисту часто было не очень удобно. Если он хотел просмотреть\подправить какую-то текстуру или модель - приходилось запускать совсем другие инструменты (а то и вовсе привлекать дизайнера). Теперь с Visual Studio 11 многие из этих ресурсов (например .FBX 3D-модели или .DDS текстуры) могут быть просмотрены и отредактированы непосредственно в IDE. Хотя Visual Studio по прежнему не является полноценным средством создания таких ресурсов, её новые инструменты всё-же позволяют сэкономить время на некоторых простых операциях.

Отладка


При разработке DirectX-приложений, традиционные CPU-ориентированные отладчики часто неэффективны, поскольку разработчикам необходимо проследить работу GPU, а не процессора. Например, может понадобиться понять, почему некоторая часть сцены не видна, или почему определенный пиксель имеет неверный цвет. Visual Studio 11 предлагает целый набор средств отладки подобных ошибок в коде, использующем DirectX. Среди них стоит отметить средства захвата фреймов, получения истории всех команд, отосланных GPU, просмотр всех событий, которые повлияли на процесс рендеринга каждого отдельного пикселя и т.д.

Вы можете узнать больше об этих средствах отладки из блога Visual C++.

В качестве вывода можно сказать, что Visual Studio 11 предлагает разработчику игр приличное количество новых полезных инструментов и они стоят того, чтобы на них взглянуть.


Страница сайта http://www.interface.ru
Оригинал находится по адресу http://www.interface.ru/home.asp?artId=28087