Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

titan2782

Help with loading multiple Textures from a file

This topic is 6215 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I am having trouble getting multiple textures to load. I have a variable called char *TextureList[20]; This will hold the texture file locations read from a file in the textures folder. So, i put the load texture code in a loop like this int LoadGLTextures() { int Status=FALSE; int tLoop=0; AUX_RGBImageRec *TextureImage[4]; memset(TextureImage,0,sizeof(void *)*4); TextureImage[0]=LoadBMP("Textures/Font.bmp"); for(tLoop=1;tLoopsizeX, TextureImage[tLoop]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[tLoop]->data); tLoop+=1; } tLoop=0; while(tLoopdata) { free(TextureImage[tLoop]->data); } free(TextureImage[tLoop]); } tLoop+=1; } return Status; } Some editing had to be done to get it to fit in this small window, but you get the idea, this is the exact code i have. Now, MaxTextures is how many textures will be used and it is read from the texture list file. So, why do i always get an initialization error? The prob is i cant get LoadBMP(TextureList[tLoop]) to work. It will read "Textures/texture.bmp" ok, but the same string in the TextureList[] variable, it wont take it. y? Please help me i''m getting frustrated

Share this post


Link to post
Share on other sites
Advertisement
Oops, forgot to mention that i will also, be loading font.bmp into textures[0] by default, so i will have MaxTextures+1

Also, looks like the forum cut off some of my loop code But the rest of the for and while loops are here in my code, just cut off in the post.

Share this post


Link to post
Share on other sites
first off, you would either have to give a reference of the texture array or a pointer. but probably not the problem.

why not do something like this:
char* NameList[] = {"Texures/Font.bmp",....};

then you have the array you can run through.
if course you texture array has to have the same size.

hope i could help.

Share this post


Link to post
Share on other sites
I am reading the textures used from a file.

ifstream fin("level1.tx");

fin >> texturelist[loop];

i do it like this.

char *Texturelist[20]; //this is what its defined as

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!