私はOpenGLとGoで遊んでいます。ほとんどがかなり直感的ですが、扱いにくいインターフェイスの問題がいくつかあります。glBufferData の 2 番目の引数は、メモリ内のバッファーのサイズにする必要があります。
C.glBufferData(C.GLenum(target), C.GLsizeiptr(size), ptr(data), C.GLenum(usage))
バッファに 32 ビットの浮動小数点数が含まれている場合、各要素は 4 バイトを使用するため、2 番目の引数については次のようにすることができます。
sizeofFloat := 4
size := sizeofFloat * len(buffer)
C.glBufferData(C.GLenum(target), C.GLsizeiptr(size), ptr(data), C.GLenum(usage))
ハードコーディングする以外に、メモリ内の型のサイズを取得するより良い方法はありますか?