We have a matrix (3) - a native Matrix4 would be great for 3D manipulation of 2D objects.
Having it native would keep the speed up. It would allow faster proper 3D manipulation of points.
Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
https://deluxepixel.com
Comments
On a post whoring mission - nothing to see here (It's not my fault! )
Likes: SinisterSoft
#MakeABetterGame! "Never give up, Never NEVER give up!" - Winston Churchill
1) Need 3 coordinates for position, 3 rotations, 3 scale factors for each sprite.
2) Sprites would automatically be sorted into order according to z coordinate not based on order added. OpenGL has routines to do this with a single call -- and much faster than any Lua program could do it. This means the order of children of a parent would not be important, so no need for addChildAt etc
3) We need 3D shapes: make a polygon face out of lines, then stick several faces together to make a solid (eg cube). You can then texture each face. Having constructed the 3-D shape, you can translate, rotate and scale.
4) It might be good to have two separate display trees: one for 3-D objects and another for 2D. The 2D objects would be used for head up display and touch controls and would be drawn after all 3D objects are drawn.
5) It's hard to tell when a 3D object is being touched by user so either don't bother sending touch events to 3D objects at all or else prepare a sophisticated hitTestPoint replacement! For example in your asteroid game its not necessary for touch events to reach the asteroids.
6) You would also need a facility to move the camera so that we can view the scene from different angles.
Likes: SinisterSoft
https://github.com/gideros/gideros
https://www.youtube.com/c/JohnBlackburn1975
But seriously as I'm not opposing this, but there still many core features missing that everyone's like to see much before other specific cases and plugins, that I think the Gideros time has no time to concentrate on other options and possibilities for the engine.
@ar2rsawseen For the present though a quick add of Matrix4 would make 3D with 2D objects possible and thus many more types of games and effects available.
https://deluxepixel.com
However there are a couple of things required with Gideros and @Atilim has a list of them, it is all about the order of these which get done first. I might require masking, some 3D and some other developer Shaders and so on. It would be nice to have all of them as soon as possible. Including some other specific things that we all need for our projects.
Author of Learn Lua for iOS Game Development from Apress ( http://www.apress.com/9781430246626 )
Cool Vizify Profile at https://www.vizify.com/oz-apps
Fragmenter - animated loop machine and IKONOMIKON - the memory game
https://deluxepixel.com
Fragmenter - animated loop machine and IKONOMIKON - the memory game
@kezegh: I think meshes are the way to go if Gideros wants to give 3D support. Meshes basically bypass the normal drawing system and allow direct access to OpenGL. It would be quite easy to offer a mesh3d object as well. You need an extra dimension for each vertex and to automatically sort by z-coordinate. I would suggest just having one 3D mesh which is drawn before everything else. It should be possible to translate, rotate and scale in 3 directions.
A 3D mesh like this would be a simple but powerful way for Gideros to support 3D. (hint!)
Likes: SinisterSoft
https://github.com/gideros/gideros
https://www.youtube.com/c/JohnBlackburn1975
Although as the link is native Javascript it shouldn't be too hard to port anyway
#MakeABetterGame! "Never give up, Never NEVER give up!" - Winston Churchill