A solid object is visualized on a display-screen by creating a 3D model using an app
and rendering the 3D model to the 2D screen.
The modeling is done at a very low level to make the rendering process efficient.
A classic 3D modeling and rendering pipeline,
has a modeling component and a rendering component.
1. Modeling:
Any 3D object is described as a connected set of 3D surfaces.
A 3D surface is represented as a set of 3D triangle (location and orientation) units.
Camera viewing parameters are specified.
The oriented 3D triangle is associated with a corresponding 2D triangle on a 2D image called a texture.
Lighting conditions are specified with one or more light sources.
3D model-editing tools are available to create an oriented 3D triangle-mesh representation of any 3D object.
Examples are Maya and 3D Studio Max.
2. Rendering
All rendering is done by a dedicated GPU that is included in an SOC (in addition to a CPU)
or by an externally connected GPU.
Rendering is done, broadly speaking in one of two ways:
a) Texture-mapping
The oriented 3D triangle is mapped to a planar 2D triangle based on camera parameters.
A corresponding triangle in its associated texture is mapped onto this planar 2D triangle.
Lighting-conditions control the final display of each planar 2D triangle.
The display of these planar 2D triangles is ordered,
either using a (hardware) Z-plane buffer that orders the planar 2D triangles on a pixel py pixel basis based on their corresponding Z-coordinates,
or by software depth-sorting -- ordering the triangles first and then sequencing the rendering operation.
b) Ray-tracing
Ray-tracing, starts with the same model, including a 2D texture
associated with an oriented 3D triangle.
Instead, of texture mapping and illumination control,
it traces the path of each light-ray from each-lighting source from the source to the camera
after multiple reflections from oriented 3D triangles in the scene and their associated surface textures.
This is a more realistic visualisation of a real-world object, but far more computationally expensive.
GPU advancements mainly target better ray-tracing efficiency.
Solidworks-Desktop by Dassault Systems and Autodesk-Alias by Autodesk
are 2 commonly used apps for design specification.
Both apps are designed for Windows.
A design is specified as a collection of 3D objects connected together.
Libraries of existing specifications for commonly used design-objects are included in these tools.
The design is initially described as a wireframe model.
Surface materials and finishes are specified for the design elements in the model.
The app translates the design to a format for a 3D rendering API, such as DirectX, OpenGL and Metal.
The app provides the user with visualisartion controls and renders the design using a GPU.
These tools also provide convenient connections to Computer Aided Manufacturing ( CAM ) tools.
Both tools have been in use for over 20 years.
Solidworks-Desktop was the first solid-object design tool,
released ( as SolidWorks 95 ) in 1995 ( 29 years ago ).
Autodesk-Alias was released 4 years later ( in 1999 ).
Solidworks-Desktop
Trusted, industry-standard SOLIDWORKS 3D CAD, deployed and managed through a named user license.
Production-ready documentation and drawing solutions.
Built-in, real-time collaboration tools for sharing and marking up designs.
$2820 USD / Year
Autodesk Alias
Autodesk Alias is used to design innovative products and communicate ideas in a visual medium from 2D sketch to 3D form, and from conceptual models to production-level data.
$2510 USD / Year