class classOne
{
ILuint id;
unsigned char* data()
{
ilBindImage(id);
return ilGetData();
}
}
class classTwo
{
void method(classOne& some)
{
(...)
glTexStorage2D(GL_TEXTURE_2D, 8, GL_RGB8, w, h);
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, w, h, GL_BGR, GL_UNSIGNED_BYTE, some.data());
glGenerateMipmap(GL_TEXTURE_2D);
}
}
プログラムが glTexSubImage2D に到達すると、「アクセス違反」エラーが発生します。私は何を間違っていますか?
GL_PIXEL_UNPACK_ALIGNMENT を 1 に設定しました。
auto pdata = new unsigned char[some.dataSize()];
memcpy(data,some.data(),some.dataSize())
そしてpdataをglTexSubImage2Dに渡します-すべて問題ないようです...