Updating a texture with another textures data

Started by
2 comments, last by AbandonedAccount 10 years, 1 month ago

Hi guys!

I have a texture i wish to take a part of the data from and set to another texture, for example I have my color map covering my entire terrain and I wish to take the data from a square 10x10 and set to another texture which is then to be used as a sub texture on my terrain. This i do as a test to see i am doing everything right, I will not take all the data from the color map when i get this to work. I can't get this to work anything like I want and all I get are stripes of RGB.


 for (int y = 0; y < 10; y++) {
    
        for (int x = 0; x<30; x++) {
        imageData[x+y*30]=colorMapData[x+512*3*y];
        }
    }

this code i thought would give a small 10x10 chunk of the color map to my imageData but instead I get what you can see in the picture.

I hope you guys can see what I am doing wrong :)

Thanks for your time!

//Hintze

Advertisement

Is there a reason you can't use glReadPixels?

The 3 lines of code you provided don't look wrong on their own, so you might need to provide a little more code for the error to be obvious.

Is there a reason you can't use glReadPixels?

The 3 lines of code you provided don't look wrong on their own, so you might need to provide a little more code for the error to be obvious.

thanks for your response,

When loading in my textures I save the data of the texture away so I don't need to read from the texture directly, this should be more efficient, right?

the data of the texture is loaded into


unsigned char * data;

and is deleted after loading them into OpenGL except the texture data i need later.


 if(strcmp (imagepath,"blend.bmp") == 0)
    {
        
        colorMapData = data;
        deletedata = false;
    }

I am pretty sure I get the data right this way because i successfully loaded in another texture in and drew it on top of the terrain just as i wanted, but when I try to read from the saved away texture data I get what you can see in the picture, I am happy to show you more code but I am not sure what would be useful.

thanks for your time:)
//Hintze

The general rule of thumb is to create as small a program as possible that exhibits the issue you have, then provide as much of that code as possible.

This topic is closed to new replies.

Advertisement