Over on the Australian Delphi User Group blog there is a post about dynamically creating a 3D scene with Firemonkey at runtime. It basically amounts to the beginnings of a 3D level or map editor. It was originally built for an older version of Firemonkey so I have taken the source code and updated it to work in Delphi XE5 Firemonkey. The main pieces of the sample are a TPlane that has a map text image and then two objects (one of which is a TCone). You press down on the map and move your mouse around. In the OnMouseMove event it uses the RayCastIntersect() function to figure out where the position of your pointer is on the TPlane and creates a 3D object there. The house doesn’t get created (or at least is not visible) in my Delphi XE5 Firemonkey version (it works okay in the original demo). I also created a mobile project for testing on Android and IOS. Other than that if you’re looking to build a 3D level or map editor using Firemonkey this is a good starting point.
Updated Delphi XE5 Firemonkey Level Editor 3D Sample With Source
Head over and check out the full blog post about dynamically creating 3d objects at runtime (source and binaries are at the bottom of the post).