2010-09-14 3 views
0

Потратив часы на поиск простого способа добавления изображения в приложение openGL, написанное на C++, я потерпел неудачу, уныло. Также очевидно, что многие другие тоже.OpenGL DevIL C++ исходный код

Я довольно новичок в OpenGL, я написал свое собственное приложение win32 с OpenGL, используя DevIL, и вы догадались, я потерпел неудачу. Единственный способ, которым я мог заставить DevIL работать, - это использовать Glut, который я не хочу использовать, или SDL или glaux.h

Что я ищу - это код или учебник для простого загрузчика изображений на C++ с OpenGL и DevIL, Любая помощь будет принята с благодарностью.

+0

Как было DevIL не работает? Сбой? Проблемы с линкером? Ничего полезного не отображается? – genpfault

+0

Никакой текстуры не было нарисовано на экране. Его в основном тот же код, что и глухая демонстрация, которая находится здесь: – Jeraldo

+0

http://pastebin.com/RBTajJyk – Jeraldo

ответ

1

Если вы запрашиваете OpenGL для фильтрации с использованием карт, убедитесь, что give it mipmaps to filter with.

Кроме того, я уверен, что glTexParameteri() и glTexEnvf() применимы только к текстуре, связанной в данный момент.

Попробуйте заменить InitTextures() с этим:

Tex1 = ilutGLLoadImage("tex1.bmp"); 
glBindTexture(GL_TEXTURE_2D, Tex1); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); 
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); 

Tex2 = ilutGLLoadImage("tex2.bmp"); 
glBindTexture(GL_TEXTURE_2D, Tex2); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); 
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); 
+0

Код от pastebin отлично работает с перенасыщением, я хочу реплицировать этот код в качестве приложения win32 с opengl, не используя перегиб. Im действительно в потере того, как это сделать, все обучающие программы, которые я видел, включают в себя перенасыщение или такие, как руководства NeHes, которые используют glaux lib. http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=06 Я хочу поменять функции glaux lib в этом учебнике для DevIL lib, но я не уверен, как это сделать У меня нет правильного понимания DevIL? Является ли это возможным? – Jeraldo

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