What is "3D Programming" ?
1/ 3D programming consists in creating 2D images which represent 3 dimensions spaces (through Projections provided by openGL and other libraries or tools). Complex images, rendered in "series" give animations... called CGIs or VIDEO-GAMES and also "3D-viewers" applications (like google earth and many 3D Data-Visualization tools) and finally Simulators (Flying, Driving, Virtual "Worlds", etc.).
2/ It also consists in creating objects shapes, through the definition of surfaces; with vertices, edges and faces to produce Meshes (and particles systems). Meshes are placed in scenes for graphical rendering or 3D-printable !
OpenSCAD enables one to program shapes in a very cool modular way. One can also program in Blender through scripting (with Blender Python APIs).
3/ More recently, it also consists in reading distance sensors and reconstruct 3 dimensions spaces and objects to program interactions between a machine and the environment (mainly for Human-Machine Interfaces or Automation). One great library for that is "Point Clouds Library" (with wrappers to several languages).
Two images courtesy of https://pointclouds.org/
Here you will find a 3D Viewer for open-source True Type Fonts coded with the excellent Three.js library.