Right now it’s more seeing how workable it is to use quaternions for all orientation instead of Euler angles, angle-axis, or 3x3 matrices. Although the rotate function uses angle-axis which could be used to implement Euler angles. Math wise I’m trying to make it reusable. Instead of one function to set the orientation I’ve found in 3d it’s useful to be able to modify the orientation with arbitrary math.
Anyways, I’m implementing this with the free version with a 25 event limit. So I’m only adding stuff that’s needed.
The square texture per face of the cube is more of a simplification. My goal there was finding a way to make a cube mesh from one mesh distorted sprite. The logic of that portion of the events makes more sense with some diagrams I doodled. Arbitrary meshes or differing textures per face would just require making the object out of multiple distorted sprites instead of just one.
Actually my short goal with all this is to work out how to make a minimal 3d editor for cubes. First update lets me position/scale/rotate a cube arbitrarily. With minimal changes it can have multiple. Next stuff I want to implement is:
* camera orientation from quaternion.
* mouse selection of cubes from view
* 3d widgets to manipulate the position/rotation/scale
* maybe some kind of multi select and/or transformation around a pivot point.
* simple save/load
* etc…
However, I suspect I’ll run out of events and have to cut some features. But my main goal here is to find ways to do all that for future reference.