Before we talk about Metal or the implementation of our 3D engine we need to understand a few core concepts around 3D graphics, along with the basics of how you take points in a 3D space and convert them to pixels on a 2D screen. If you are already familiar with how 3D graphics work at a high level, then feel free to skip this whole section. Defining a 3D Model The first thing we need to do in order to render a 3D model to the screen is define what data we need and how to organize that data.