1

次のコードが生成されるのはなぜGL_INVALID_OPERATIONですか?

int8_t  bytes[256];
for (int i = 0; i < 256; i++)
  bytes[i] = (int8_t) i;
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_1D, texture);
glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexImage1D(GL_TEXTURE_1D, 0, GL_R8I, 256, 0, GL_RED, GL_BYTE, bytes);
/* Here I get GL_INVALID_OPERATION */
glBindTexture(GL_TEXTURE_1D, 0);
4

1 に答える 1

2

私は自分で答えを見つけました!インテグラル フォーマットを使用してピクセルをテクスチャに転送する場合_INTEGERは、フォーマット指定子 ( )で接尾辞を使用する必要があるようです。GL_RED_INTEGER詳細はこちら:ピクセル転送

于 2012-11-28T00:50:10.187 に答える