2010-09-14 2 views
0

Après avoir passé des heures à chercher un moyen simple d'ajouter une image à une application openGL écrite en C++, j'ai échoué, misérablement. Il est également évident que beaucoup d'autres ont aussi.OpenGL DevIL code source C++

Je suis assez nouveau à OpenGL, j'ai écrit ma propre application win32 avec OpenGL en utilisant DevIL et vous l'avez deviné, j'ai échoué. La seule façon de faire fonctionner DevIL était d'utiliser Glut, que je ne veux pas utiliser, ou SDL ou glaux.h

Ce que je cherche est un code ou un tutoriel pour un simple chargeur d'image en C++ avec OpenGL et Devil, Toute aide serait grandement appréciée.

+0

Comment était DevIL ne fonctionne pas? Crash? Problèmes de lieur? Rien d'utile affiché? – genpfault

+0

Aucune texture n'a été dessinée à l'écran. Son fondamentalement le même code que la démo glut qui est ici: – Jeraldo

+0

http://pastebin.com/RBTajJyk – Jeraldo

Répondre

1

Si vous demandez à OpenGL de filtrer à l'aide de mapmaps, veillez à give it mipmaps to filter with.

En outre, je suis assez sûr que glTexParameteri() et glTexEnvf() s'appliquent uniquement à la texture actuellement liée.

Essayez de remplacer votre InitTextures() avec ceci:

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

Le code de pastebin fonctionne très bien avec glut, je veux reproduire ce code comme une application win32 avec opengl, ne pas utiliser glut. Im vraiment à une perte de la façon de s'y prendre, tous les tutoriels que j'ai vus incluent glut ou des tutoriels comme NeHes qui utilisent la bibliothèque glaux. http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=06 Je veux changer les fonctions de glaux lib dans ce didacticiel pour la bibliothèque DevIL, mais je ne suis pas sûr de savoir comment s'y prendre Je n'ai pas une bonne compréhension de DevIL? C'est possible? – Jeraldo