サードパーティのDLLを使用して生の画像データをロードしています。この生の画像データをopenGLのテクスチャとして使用したいと思います。ただし、c関数はvoid *を返すため、これを何らかの方法で変換して、「pixels」パラメーターとしてglTexImage2Dとして機能するようにする必要があります。今のところ、私のコードは次のようになっています。
data = c_void_p(vdll.vlImageGetData())
glTexImage2D(GL_TEXTURE_2D, 1, GL_RGB8, 1024, 1024, 0, GL_RGB, GL_UNSIGNED_BYTE, data )
ただし、データを「ポインタに変換できない」というTypeErrorが発生します。誰かがこれを機能させる方法を知っていますか?
編集:それを理解しました。基本的に私がしていることはこれです:
data = create_string_buffer( BUFFER_SIZE )
data = dll.vlImageGetData()
glTexImage2D(GL_TEXTURE_2D, 1, GL_RGB8, 1024, 1024, 0, GL_RGB, GL_UNSIGNED_BYTE, data )