2012-05-25 2 views
0

Мне нужно загрузить изображение на моем фоне ... Кто-нибудь знает, как это сделать? Я знаю, что я должен сделать следующие шаги:Как загрузить изображение в opengl

1) Load image data into system memory 
2) Generate a texture name with glGenTextures 
3) Bind the texture name with gBindTexture 
4) Set wrapping and filtering mode with glTexParameter 
5) call glTexImage2D with the right parameters depending on the image nature to load image data into video memory 

, но я не знаю, как поставить их в OpenGL

+0

4) является wromg. Настройка фильтрации текстуры и режима обертывания не требуется для загрузки изображения. Но вы должны (лучше лучше) установить параметры хранения перед загрузкой с помощью [glPixelStore] (http://www.opengl.org/sdk/docs/man/xhtml/glPixelStore.xml) – datenwolf

+0

@ datenwolf: На самом деле, не устанавливая режим фильтрации может привести к неполной текстуре. –

+0

@NicolBolas: Да, но спецификация OpenGL указывает, что фильтр минимизации может быть установлен и изменен в любое время. Поэтому, пока он должен быть установлен в какой-то момент, не требуется устанавливать его перед загрузкой данных текстуры. Также вспомните, как работают объекты сэмплера. – datenwolf

ответ

1

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

Я предлагаю использовать очень простой Lib ПОЧВЫ - http://www.lonesock.net/soil.html Или какой-либо библиотеки, предоставленный SDK

в целом:

load texture bytes into pBytes; 
glTexImage2D(..., ..., ..., pBytes); 
Смежные вопросы