There are different 3D objects that we can use in our Delphi FireMonkey apps. From really simple ones, such as TStrokeCube or TGrid3D, that just render a few lines in 3D space, to more complex components that maintain their own vertex and index buffers for drawing complex geometries with triangles. This is a typical approach for rendering arbitrary geometries in 3D apps, for example mobile games, and it requires quite a lot of coding.
At the lowest level, all 3D objects inherit from the TControl3D class that introduces location and transformations in 3D space. It also adds interactivity to all 3D controls by implementing different mouse events that are translated to touch events on mobile targets. These user events have different parameters that give to application code the information about where such an event happened in 3D space, which can be very useful.
One...