LuaJIT FFI を使用してポインターを作成する例があることは知っていますが、これらのほとんどは既存のデータを指していません。そのような例の 1 つがここにあります: LuaJIT ffi にポインターを渡し、out 引数として使用する方法は?
私がうまくできていないことの 1 つは、既存の値へのポインターを作成することです。私の知る限り、ポインター型を持つためには、次のように、将来のある時点でそれを指すポインターが必要であることを知っておく必要があります。
local vao = ffi.new("GLuint[1]")
gl.GenVertexArrays(1, vao)
gl.BindVertexArray(vao[0])
ここで、glGenVertexArrays には へのポインターが必要であることがわかっているvao
ので、GLuint[1] として指定します。Cでは、次のようなことをしています:
GLuint vao;
glGenVertexArrays(1, &vao);
glBindVertexArray(vao);
ここでは、 へのポインタが必要になるとは考えていないvao
ので、普通に指定できます。
つまり、既存の値のアドレスを取得したり、ポインタを作成したりする方法はありますか? 値を作成する前に、その値で何をするかを予測する必要がありますか?
ありがとう!