Pull to refresh

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

Reading time2 min
Views5.9K
Original author: Somasegar
В этой статье я хотел бы рассказать о некоторых нововведениях в 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 предлагает разработчику игр приличное количество новых полезных инструментов и они стоят того, чтобы на них взглянуть.
Tags:
Hubs:
Total votes 73: ↑63 and ↓10+53
Comments37

Articles