好的,所以我需要创建自己的纹理/图像数据,然后将其显示在 OpenGL 中的四边形上。我让四边形工作,我可以用我自己的纹理加载器在它上面显示一个 TGA 文件,它完美地映射到四边形。
但是如何创建自己的“自制图像”,即每个像素 1000x1000 和 3 个通道(RGB 值)?纹理数组的格式是什么,例如如何将像素(100,100)设置为黑色?
这就是我对完全白色图像/纹理的想象:
#DEFINE SCREEN_WIDTH 1000
#DEFINE SCREEN_HEIGHT 1000
unsigned int* texdata = new unsigned int[SCREEN_HEIGHT * SCREEN_WIDTH * 3];
for(int i=0; i<SCREEN_HEIGHT * SCREEN_WIDTH * 3; i++)
texdata[i] = 255;
GLuint t = 0;
glEnable(GL_TEXTURE_2D);
glGenTextures( 1, &t );
glBindTexture(GL_TEXTURE_2D, t);
// Set parameters to determine how the texture is resized
glTexParameteri ( GL_TEXTURE_2D , GL_TEXTURE_MIN_FILTER , GL_LINEAR_MIPMAP_LINEAR );
glTexParameteri ( GL_TEXTURE_2D , GL_TEXTURE_MAG_FILTER , GL_LINEAR );
// Set parameters …Run Code Online (Sandbox Code Playgroud)