Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 20:12

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
BeitragVerfasst: So Jan 21, 2007 22:55 
Offline
DGL Member

Registriert: So Jan 23, 2005 13:21
Beiträge: 46
Wohnort: Vietnam
Hallo!

Habe ein problem mit devil. irgendewie bekomm ich bei jedem ilutGLLoadImage() ein false zurück. kA woran das liegt. Vielleicht könnt ihr mir ja helfen.
Hier ein bisschen code:

Code:
  1.  
  2. int cubeTexture_id = 0;
  3.  
  4. bool Opengl::initialize()
  5. {
  6.     glutInitWindowSize(windowWidth, windowHeight);
  7.     glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
  8.     glutCreateWindow("OpenGL");
  9.  
  10.     ilInit();
  11.     iluInit();
  12.     ilutInit();
  13.  
  14.     if (cubeTexture_id == 0) texturesloadTextures(1);
  15.  
  16.     glShadeModel(GL_SMOOTH);  //morecolored
  17.     glClearColor (0.8, 0.0, 0.8, 0.0);
  18.     glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
  19.  
  20.     glEnable(GL_TEXTURE_2D);
  21.     glEnable(GL_DEPTH_TEST);
  22.  
  23.     return true;
  24. }
  25.  
  26. void texturesloadTextures(int textureIndex)
  27. {
  28.     if (textureIndex == 1) cubeTexture_id = ilutGLLoadImage(L"cube.png");
  29. }
  30.  
  31. void Opengl::display()
  32. {
  33.     glEnable(GL_TEXTURE_2D);
  34.  
  35.     glBindTexture(GL_TEXTURE_2D, cubeTexture_id
  36.     glBegin(GL_QUADS);
  37.         glTexCoord2d(0.0, 0.0); glVertex3d(-0.5, -0.5, -1.5);
  38.         glTexCoord2d(1.0, 0.0); glVertex3d(0.5, -0.5, -1.5);
  39.         glTexCoord2d(1.0, 1.0); glVertex3d(0.5, 0.5, -1.5);
  40.         glTexCoord2d(0.0, 1.0); glVertex3d(-0.5, 0.5, -1.5);
  41.     glEnd();
  42.  
  43.     glDisable(GL_TEXTURE_2D);
  44.  
  45.     glutSwapBuffers();
  46. }


Falls mehr code gebraucht wird, bitte einfach sagen. Geb hier noch die libaries bekannt:
opengl32.lib
glu32.lib
glut32.lib
DevIL.lib
ilu.lib
ilut.lib

Eigentlich müsste es ja gehen, aber es will nicht... ilutGLLoadImage(L"cube.png"); wieso ich da ein L brauche, habe icha auch noch nicht so geschnallt, aber es geht ohne nicht. hab ein anderes projekt, wo es nur ohne geht. ich kenn mich einfach nimmer aus. das file existiert 100% und ist 128x128 groß.

Danke für eure hilfe

_________________
"As the enemy went to heaven,
we stayed in hell!"


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 22, 2007 00:50 
Offline
DGL Member

Registriert: So Sep 26, 2004 05:57
Beiträge: 190
Wohnort: Linz
Das L bedeutet, dass es sich um einen Wide Character String handelt. Das brauchte ich bei Devil nie, wird wohl an irgendwelchen komischen Compiler-Optionen von oder für Devil liegen, sollte aber nicht wirklich ein Problem darstellen.

Nur um das klar zu stellen: ilutGLLoadImage gibt die Textur-ID für OpenGL zurück, also "false" ist da nicht unbedingt die korrekte bezeichnung. 0 (also wenn du wirklich willst false) sollte aber dennoch nicht zurück gegeben werden. Ist nur etwas verwirrend die Bezeichnung "false" ...

Ansonnsten würde ich es an deiner Stelle mal mit anderen Pfadangaben versuchen. D.h.:
./cube.png
C:/Pfad/cube.png
Sowas in der Art.

Und ich hab noch nicht allzu viel mit glut zu tun gehabt, aber ilutGLLoadImage verwendet ja GL. Wäre es möglich dass da davor noch ein glutInit oder sowas fehlt?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: re
BeitragVerfasst: Mo Jan 22, 2007 17:54 
Offline
DGL Member

Registriert: So Jan 23, 2005 13:21
Beiträge: 46
Wohnort: Vietnam
Danke mal für die Antwort..

Das mit relativem Link hab ich schon versucht, aber half trotzdem nichts.
glutInit muss man nicht unbedingt verwenden... hab das bei einem anderen projekt auch nicht und die texture lässt sich trotzdem laden. ich hab alles total gleich, wie bei dem anderen projekt und trotzdem ist es anders. vielleicht hatte wirklich schonmal jemand das gleiche problem...
Das mit dem wchar verstehe ich, aber wieso mans einmal braucht und einmal nicht ergibt für mich keinen sinn. Beide Projekte benützten die selben lybaries und files...

lg rob

_________________
"As the enemy went to heaven,
we stayed in hell!"


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: re
BeitragVerfasst: Do Jan 25, 2007 19:27 
Offline
DGL Member

Registriert: So Jan 23, 2005 13:21
Beiträge: 46
Wohnort: Vietnam
fehler gefunden... ich kann euch sagen, auf das musste erstmal kommen:

Code:
  1. cubeTexture_id = ilutGLLoadImage(L"cube.png");


Ging zwar, aber es kamm immer eine 0 zurück, was nicht stimmen konnte. Hatte ein anderes Projekt, wo kein L dabei ist. Dort ging es. Also hab ich Codemässig geschaut, was falsch sein kann. Gar nichts. Eine Projekt-Eigentschaft war anders.

Project -> NAME properties -> Configuration: Active(Debug) (muss ausgewählt werden oder sein) -> Character Set: Use Multi-Byte Character Set (einstellen)

Neuer code:
Code:
  1. cubeTexture_id = ilutGLLoadImage("cube.png");


Dann gehts.
lg rob

_________________
"As the enemy went to heaven,
we stayed in hell!"


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 15 Queries | GZIP : On ]