class eTexture{
private:
int width;
int height;
GLuint texture_id;
public:
eTexture(){
texture_id=0;
width=0;
height=0;
}
void LoadFromBMP(char *filename){
width=256;
height=256;
int data[64][64][4];
for(int i=0;i<64;++i){
for(int j=0;j<64;++j){
data[j][0]=(i+j)/2;
data[j][1]=(i+j);
data[j][2]=100;
data[j][3]=255;
}
}
//glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
glGenTextures(1, &texture_id);
glBindTexture(GL_TEXTURE_2D, texture_id);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 64, 64, 0,GL_RGB, GL_UNSIGNED_BYTE, data);
}
int GetWidth(){
return width;
}
int GetHeight(){
return height;
}
GLuint GetTextureID(){
return texture_id;
}
};
OpenGL ошибка в загрузке текстуры
Код:
Текстура после загрузки не хочет выводиться.
Есть подозрение на ф-ю glBindTexture, т.к. после ее выполнения texture_id не изменяется.
Вообще загружаю текстуру из файла, но тут использовал просто массив data, т.к. уже не знаю на что подумать =(
Почему тип-то у данных int?
И не забываем glEnable(GL_TEXTURE_2D).