2010-11-17 3 views
1

при создании нового OPENGL проекта в Visual Studio 2008, вы получите три папки: одна для файлов заголовков, один для исходных файлов и один для файлов ресурсов.получения текстуры изображения для OpenGL через файл ресурсов (C++/Visual Studio 2008)

ли возможно поместить JPG изображения в файлах ресурсов, а затем ссылку на него, чтобы загрузить его в качестве текстуры? Я хочу загрузить jpg-картинки в виде текстур, но я хочу сделать это через файлы ресурсов, чтобы debug exe содержал эти файлы.

как я могу ссылку на фотографии, которые я положил в файлах ресурсов?

ответ

0

Я верю Если вы свяжете текстуру как ресурс, она будет сохранена внутри вашего .exe файла. Это не часто используемое решение - обычно вы хотите хранить ресурсы в отдельной папке (или файле archive/VFS) рядом с вашим .exe - после этого текстура будет загружена из этого файла после запуска вашей программы. Это также означает, что вам не придется перекомпилировать большой файл .exe всякий раз, когда вы заменяете или изменяете текстуру. Так что мой ответ на ваш первый вопрос - нет, это на самом деле не представляется возможным, если вы необходимость не иметь все приложения с ресурсами в одном .exe.

Если вам нравится последний вариант с файлами (которые я рекомендую), то самый простой способ использовать текстуру из файла - использовать библиотеку загрузчика, такую ​​как SOIL, которая упрощает загрузку текстур OpenGL из любого формата в одну строку кода ,

1

В проекта resource view, щелкните правой кнопкой мыши yourproject.rc. Нажмите кнопку Import.... Выберите файлы (ы) JPEG, которые вы хотите вставить. Когда он попросит вас назвать этот тип, назовите его что-то вроде «JPEG». Оттуда JPEG будет скомпилирован в ваш исполняемый файл.

Чтобы загрузить его, вы используете FindResource, чтобы получить дескриптор ресурса, затем LoadResource, чтобы загрузить его в память, а затем LockResource, чтобы получить его адрес. Оттуда вы можете использовать обычный JPEG-декодер, чтобы превратить его в форму, которую вы можете использовать в качестве текстуры. Кроме того, вы можете скачать DevIL, чтобы обрабатывать почти все это для вас.

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