Modding:3D Ripper DX

Материал из Tiarum
Перейти к: навигация, поиск
3DRipperDX.gif


Описание

3D Ripper DX - очень удобная программа, позволяющая делать как бы 3d-скрины. После ее запуска вы запускаете также игру, жмете в ней клавишу F12 (по умолчанию) и в выбранной ранее папке сохраняется 3d-сцена, содержащая все объекты, которые на момент снятия "скрина" вы видели на экране. В этот момент игра как бы замирает на несколько минут или больше (зависит от сложности сцены), а затем продолжает работать. Извлекается только то, что отрендерено в одном фрейме. Все модели скринятся целиком. Если вы видите на экране только фрагмент какой-либо модели, она также будет захвачена. Формат такого "скрина" - 3dr или obj. Анимация не экспортируется.

Плагин для импорта формата 3dr в 3dsMax устанавливается во время инсталляции программы. При этом вы должны указать версию установленного у вас Макса.

Текстуры в формате dds также извлекаются - в отдельную, заранее определенную папку.

Таким образом можно извлекать модели, не мудрствуя с импортерами, которые, к тому же, не всегда удается найти.


Программа очень проста в использовании и занимает около 3МВ.

Возможности программы

С 3D Ripper DX вы можете:

  • Захватывать всю геометрию, текстуры и шейдеры, отрендеренные в течение одного фрейма.
  • Импортировать захваченную сцену в 3D Studio Max или Maya.
  • Просмотреть для каждого отдельного вызова точную отрисовку любого объекта.
  • Просматривать параметры рендеринга, текстур, вертексные вершины, индексы вершин, объявление вершин, вертексные и пиксельные шейдеры (включая исходные коды HLSL, если они имеются) для каждого индивидуального вызова.
  • Плагин импортера работает с версиями 3DS Max 5.0-9.0.


Недостатки

  • Текущая версия 3D Ripper DX поддерживает только приложения DirectX 9.0. OpenGL, другие версии DirectX и программы рендеринга в текущей версии не поддерживаются.
  • Некоторые модели перекашиваются, особенно этим грешат модели оружия при виде от первого лица.


В последней версии 3D Ripper DX v1.4d было сделано:

  • улучшена поддержка функций.
  • устранены баги: некоторые модели воспринимались как 2D, и поэтому не захватывались.
  • включена поддержка обновления DirectX 9.0c апрельской версии 2007г.


Что планируется в будущем:

  • Устранить баги!
  • Включить поддержку DirectX 8,7,6,5;
  • Включить поддержку DirectX 10 и шейдерные модели 4-й версии.
  • Включить поддержку 64-хбитной версии 3DS MAX.
  • Создать плагин импорта в Maya.


Определение эффективности Post- и Pre-TnL кешей.

Начиная с версии 3D Ripper DX v1.4 программа осуществляет проверку, насколько эффективно работают Pre-TnL и Post-TnL вершинные кеши (ищите в свойствах "Object properties -> User" в 3DS Max.


В процессе рендеринга программа использует аппаратные преобразования transform-and-lighting (TnL) или вершинные шейдеры (vertex-shaders), при этом GPU периодически сохраняет в кэше все трансформации и цвет вершин. Сохранение в post-TnL кэше результатов преобразований и цвета вершин позволяет избежать повторных вычислений одних и тех же величин, когда они разделяются между несколькими треугольниками, и это существенно экономит время.
Использование post-TnL кеша позволяет повысить эффективность практически в два раза.


Более детальную информацию вы можете найти здесь и здесь


3D Ripper DX, сохраняя в кэше вершины, эффективен для кэшей с 16, 20, 24 и 32 вершинами. Эффективность кэша достигаетстя пропуском вырожденных треугольников (чем их меньше, тем лучше). Он также рассчитывает эффективность за счет оптимизации индексов с D3DXOptimizeFaces () и OptmizeFacesLRU ().


Исходный код для OptmizeFacesLRU() обычно можно найти в "C:\Program Files\3DRipperDX\SRC\VCache.h". Этот алгоритм от Тома Форсита (Tom Forsyth) можно найти здесь


Эффективность pre-tnl кэша раcсчитывается как сумма расстояний между полученными вершинами, разделённая на число пропусков кэша (чем меньше - тем лучше, в идеале = 1.0 - линейный доступ).

Ссылки: