imgui bind がだいたいできて軌道に乗ったので、glTF viewer の作成にとりかかる。
GLFW: Getting started
https://www.glfw.org/docs/latest/quick.html
の回転アニメーション以外できた。
luajit の cdef で頂点配列の定義が捗る
が、
などという書き方ができてしまう。luajit ffi 強い。
ffi.metatype
luajit を活かした線形代数ライブラリを探索していて、
GitHub - bjornbytes/maf: 3D math library for Lua
3D math library for Lua. Contribute to bjornbytes/maf development by creating an account on GitHub.
https://github.com/bjornbytes/maf
を見つけた。
luajit ffi には便利関数
があって、これを使うと ffi.cdef した C の struct に lua の metatable を合体できる。
線形代数ライブラリは、 ffi.metatype
を使って自作してみよう(mafにはvec3 と quaternion しかないのもあり)。
ついでに、lua の unittest を取り入れましょう。
20210830
mat4
を実装してみた。
limgui/lua/mafex.lua at master · ousttrue/limgui
luajit + ffi + imgui. Contribute to ousttrue/limgui development by creating an account on GitHub.
https://github.com/ousttrue/limgui/blob/master/lua/mafex.lua
という定義で OpenGL の uniform 変数に直接渡せるので使いやすい。