Cool! A lot of people wanted DragonBones to work! Thank you for sharing!
Sadly, I tried to run it, and there is a type error in line 459 of script_dragonbones.cpp:
/dragonbones/src/script_dragonbones.cpp
Line 459: format specifies type 'int' but the argument has type 'size_type' (aka 'unsigned long') [-Werror,-Wformat]
458 | dmLogInfo("onDrawFrame: Skipping slot '%s' due to empty buffers or texture ID 0 (vertices: %d, indices: %d)",
| ~~
| %zu
459 | slot->getName().c_str(), openglSlot->vertices.size(), openglSlot->indices.size());
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
and:
/dragonbones/src/script_dragonbones.cpp
Line 459: format specifies type 'int' but the argument has type 'size_type' (aka 'unsigned long') [-Werror,-Wformat]
458 | dmLogInfo("onDrawFrame: Skipping slot '%s' due to empty buffers or texture ID 0 (vertices: %d, indices: %d)",
| ~~
| %zu
459 | slot->getName().c_str(), openglSlot->vertices.size(), openglSlot->indices.size());
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
go.property(“file1”, resource.file()) - A way of picking arbitrary files like JSON.
mesh indices. It will reduce the number of resources used.
Tutorial on creating simple custom component. In my opinion, spine and rive extensions are too complex to be understood by reading the source.
Lessons
Using meshes, buffer
Interfacing with external libraries
Minor bug? I don’t know
--mtx_test is vertex constant user matrix4
go.set("#mesh", hash("mtx_test"), vmath.matrix4())
-- error below: Invalid index 2 for property 'mtx_test'
print(go.get("#mesh", hash("mtx_test")))