Приветствую всех друзья! В прошлой статье я рассказал об интеграции Visual Studio и Unity. Сегодня речь пойдет об интеграции между RenderDoc и Unity.
Редактор поддерживает интегрированный запуск и захват кадров отладчиком RenderDoc для детального самоанализа кадров и отладки.
Интеграция поддерживается только для версий RenderDoc 0.26 или более поздней, поэтому, если в настоящее время у вас установлена более ранняя версия, требуется обновить ее по крайней мере до версии 0.26.
Помимо использования интеграции в редакторе, вполне возможно использовать RenderDoc как обычную программу без дополнительной настройки.
Кадры могут быть захвачены только в том случае, если Unity работает на платформе и API, которые поддерживает RenderDoc - на момент написания это Windows, с поддержкой либо DirectX 11, либо OpenGL Core profile. Если используется другой API, интеграция RenderDoc будет временно отключена до тех пор, пока не будет включен поддерживаемый API.
Загрузка RenderDoc.
Если обнаружена установка RenderDoc, то в любой момент после загрузки редактора вы можете щелкнуть правой кнопкой мыши на вкладке Game View или Scene View и нажмите кнопку "Load RenderDoc". Это приведет к перезагрузке графического устройства, поэтому вы должны сохранить любые изменения, но после этого RenderDoc будет готов к захвату без необходимости перезагрузки редактора или создания билда на ПК.
Вы также можете запустить редактор через RenderDoc в обычном режиме или передать параметр командной строки -load-renderdoc для загрузки RenderDoc при запуске.
Захват кадра в RenderDoc.
При обнаружении совместимой версии RenderDoc, загруженной в Редактор, в правой части у окон Game View и Scene View появится новая кнопка.
Нажатие этой кнопки вызовет захват следующего кадра рендеринга из окна. Если пользовательский интерфейс инструмента RenderDoc не был открыт, то для отображения захвата будет запущен новый экземпляр, а если он уже запущен, то там автоматически появится самый новый захваченный кадр. Оттуда вы можете открыть захват и отладку с помощью этого инструмента.
По умолчанию для оптимизации размера шейдеров DirectX 11 отладочная информация удаляется. Это означает, что константы и ресурсы не будут иметь имен, а источник шейдера будет недоступен. Чтобы включить эту отладочную информацию в свой шейдер, включите (без пробела между решеткой и основной частью) # pragma enable_d3d11_debug_symbols в код шейдера в блоке CGPROGRAM.
На сегодня это все. Следующая статья будет посвящена интеграции между Xcode Frame Debugger и Unity. Спасибо всем, кто дочитал эту статью до конца, подписывайтесь на канал, ставьте лайки, а для тех, у кого появились вопросы - спрашивайте в комментариях! А если вы хотите помочь данному каналу в развитии – делитесь этой статьей с друзьями в социальных сетях!
МОЙ КАНАЛ НА YOUTUBE | ГРУППА МОЕЙ ИНДИ ИГРЫ В VK