Встроить файл конфигурации в исполняемый файл?

Я в настоящее время работаю над небольшой графической демонстрацией (использование DirectX), который, прежде всего, базируется вокруг программы построения теней HLSL, я продолжаю работать. Используя D3DX10CreateEffectFromFile я загружаю (и компилирую программу построения теней) во времени выполнения, поскольку я нахожу это легче для тонкой настройки.

Однако, после того как я сделан, я хотел бы сделать некоторую комбинацию следующего:

  • Предварительно скомпилируйте программу построения теней, таким образом, демонстрация запускает быстрее для пользователя
  • Проложите под землей (компиляция в исполняемый файл) скомпилированную программу построения теней (или возможно просто источник при необходимости)

Прежде всего, я хочу сделать это, потому что я хочу, чтобы демонстрация просто была одним файлом, который может быть очень легко скопирован вокруг.

Одна вещь, которую я мог легко сделать, просто исправлена исходный текст в cpp, но это было бы очень утомительно, я должен был обновить его позже.

Действительно ли возможно сделать что-то вроде этого (использующий Visual Studio, DirectX, HLSL)?

1
задан REM 20 May 2010 в 19:17
поделиться

1 ответ

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

Хотя лично я бы выбрал что-то вроде большого двоичного файла. В начале файла есть оглавление. В основном это ID шейдера и смещение. Смещение соответствует началу двоичных скомпилированных данных. В верхней части каждого скомпилированного шейдера можно поместить 4 байта, в которых указывается его длина. Однако вставка нового шейдера может быть хлопотной, поскольку для этого нужно переместить довольно много данных, но поскольку это автономный процесс, это не является проблемой.

2
ответ дан 3 September 2019 в 00:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: