2009-10-01 5 views
0

Существуют ли библиотеки для загрузки и обработки/дизассемблирования файлов байт-кода Direct3D (10,11) шейдеров, созданных fxc?Существуют ли библиотеки для загрузки и обработки/дизассемблирования байт-кода Direct3D shader?

Я знаю, что многие разработчики (и поставщики оборудования) имеют внутренние инструменты для загрузки и обработки форматов байт-кода шейдеров D3D, но поскольку формат шейдерного шейдера является частным и двоичным, но только с D3D10, мне интересно, есть ли какие-либо публичные ресурсы для работы с ним.

ответ

0

Если вы не хотите, или не можете использовать функцию Direct3D D3DDisassemble, то есть некоторые библиотеки с открытым исходным кодом доступны:

  • SlimShader является .NET библиотека с открытым исходным кодом, способный разбора Direct3D 10/11 шейдерный байт-код. (Отказ от ответственности: я являюсь автором SlimShader.) Существует совместный проект SlimShader.VirtualMachine, который может полностью выполнить дизассемблированный шейдер на CPU.
  • fxdis - это дизассемблер байт-кода C++ Direct3D.
  • HLSLCrossCompiler - это библиотека C++, которая может анализировать байт-код Shader Direct3D и преобразовывать его в GLSL.

 Смежные вопросы

  • Нет связанных вопросов^_^