klar hab ich schon gemacht.
wobei...
Bevor oder nachdem man die texture geladen hat ???
TGALoader für OpenGL
-
- Beiträge: 52
- Registriert: Mi Mai 12, 2010 3:48 pm
Re: TGALoader für OpenGL
return EXIT_FAILURE;
- Xin
- nur zu Besuch hier
- Beiträge: 8861
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: TGALoader für OpenGL
Vor dem Zeichnen.paparoach777 hat geschrieben:klar hab ich schon gemacht.
wobei...
Bevor oder nachdem man die texture geladen hat ???
Ich kenne Deinen Quelltext nicht und der vorherige hatte wohl noch nichts mit Texturen zu tun.
Es ist nur der übliche Fehler, irgendetwas nicht zu "enable"'n ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
-
- Beiträge: 52
- Registriert: Mi Mai 12, 2010 3:48 pm
Re: TGALoader für OpenGL
das vor dem zeichnen war mir schon klar...
Ich meinte vor dem Laden oder danach ( in meinem Code also vor oder nach LoadTGA )
Ich meinte vor dem Laden oder danach ( in meinem Code also vor oder nach LoadTGA )
return EXIT_FAILURE;
Re: TGALoader für OpenGL
Das ist eigentlich egal, da OpenGL ja nichts anderes als eine große Statemachine ist. Solange du es nicht änderst, bleibt es immer gleich. Einen Einfluss hat es erst beim Rendern. Es sollte also irgendwann vor dem Rendern aktiviert werden.paparoach777 hat geschrieben: Ich meinte vor dem Laden oder danach ( in meinem Code also vor oder nach LoadTGA )
Welche Farbe sollte es denn haben? Ist das genau die Farbe die du mit glColor angegeben hast? Bist du sicher das der TGA Loader funktioniert - also dass die Daten genau in dem Format vorliegen das du bei glTexImage angibst?paparoach777 hat geschrieben:Aber auf dem Bildschirm ist nur ein schwarzes Quadrat...
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
-
- Beiträge: 52
- Registriert: Mi Mai 12, 2010 3:48 pm
Re: TGALoader für OpenGL
Also...
Die Farbe war standart weiss (hab ich überprüft).
Und das war ja eigentlich ein Projekt um zu gucken ob der TGALoader überhaupt funktioniert, also könnts daran liegen...
Hier der TGALoader SourceCode
Die Farbe war standart weiss (hab ich überprüft).
Und das war ja eigentlich ein Projekt um zu gucken ob der TGALoader überhaupt funktioniert, also könnts daran liegen...
Hier der TGALoader SourceCode
Code: Alles auswählen
#include<stdio.h>
#include<stdlib.h>
#include"GLheaders.h"
typedef struct{
char IDsize;
char colormaptype;
char imagetype;
unsigned short colormapstart;
unsigned short colormaplength;
unsigned char colormapbits;
unsigned short xstart;
unsigned short ystart;
unsigned short width;
unsigned short height;
char bpp;
char descriptor;
}TGA_HEADER;
GLbyte* LoadTGA(const char *szFileName, GLint *iWidth, GLint *iHeight, GLint *iComponents, GLenum *eFormat){
FILE *data;
TGA_HEADER header;
unsigned long imageSize;
short depth;
GLbyte *pbits;
//default
*iWidth = 0;
*iHeight = 0;
*eFormat = GL_BGR_EXT;
*iComponents = GL_RGB8;
data = fopen(szFileName, "rb");
if(data == NULL){
return NULL;
}
fread(&header, 18, 1, data);
*iWidth = header.width;
*iHeight = header.height;
depth = header.bpp / 8;
if(header.bpp != 8 && header.bpp != 24 && header.bpp != 32){
return NULL;
}
imageSize = header.width * header.height * header.bpp;
pbits = (GLbyte*)malloc(imageSize * sizeof(GLbyte));
if(pbits == NULL){
return NULL;
}
if(fread(pbits, imageSize, 1, data) != 1)
{
free(pbits);
return NULL;
}
switch(depth)
{
case 3: // Most likely case
*eFormat = GL_BGR_EXT;
*iComponents = GL_RGB8;
break;
case 4:
*eFormat = GL_BGRA_EXT;
*iComponents = GL_RGBA8;
break;
case 1:
*eFormat = GL_LUMINANCE;
*iComponents = GL_LUMINANCE8;
break;
};
fclose(data);
return pbits;
}
return EXIT_FAILURE;
Re: TGALoader für OpenGL
Du kannst ja einmal ein paar Debugausgaben machen und somit einmal schauen ob zum Beispiel sinnvolle Werte für die Größe, Farbtiefe etc. ausgelesen werden. Ansonsten wenn du ein Komplettes Pakete zusammenstellst, am Besten mit Makefile, dann kann ich mir das einmal kurz anschauen.
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at