3D interactive software - which documentation should I look at first?

Thinking of trying to code a 3d engineering design software. I know it won't be easy to code.

The basic idea is the user is given an interactive 3d interface, and the user can move through the 3d space, drag and drop columns beams etc, select deselect dragged or created items, assign values to it, dimensions etc. The user should be able to change sizes of elements (like when user type 10 width, the beam should change it's size to the typed value etc), get fixed to other elements etc.

Any idea which documentation should I look at for xcode, swiftui to get an idea or first few steps into interactive 3d etc?

Hello,

There isn't really specific documentation to look at first here. Creating an interactive 3D application is a very broad concept. Generally speaking, such an app would likely entail the integration of several different technologies:

  1. A data structure or model format to actually represent the 3D content you wish to draw and interact with. Model I/O supports several different 3D formats. SceneKit and RealityKit also support different 3D formats.
  2. A rendering technology to draw the 3D content. At the lowest level (and with the most flexibility), you could use Metal. At higher levels, RealityKit and SceneKit can render 3D scenes.
  3. A UI technology to get user input. SwiftUI provides different ways to get UI interactions, such as gestures and user input. Translating these 2D inputs into something meaningful within a 3D scene is not trivial, RealityKit and SceneKit do offer some convenience hit-testing apis to do so: https://developer.apple.com/documentation/realitykit/arview/hittest(_:query:mask:) and https://developer.apple.com/documentation/scenekit/scnscenerenderer/1522929-hittest.
3D interactive software - which documentation should I look at first?
 
 
Q