Rendering basics

The process of rendering involves rendering triangles on screen. Each of these triangles can have any pixel shader indicating the color of every pixel of the triangle rendered. Commonly, a combination of textures and global properties (such as lights) are used to determine the color of every pixel.

Rendering is commonly done on the GPU, as rendering complex scene will require a lot of operations on a CPU and will likely not run in real-time for comparable scene quality to a GPU implementation. The GPU will have to be controlled using a rendering API. The rendering API does not directly expose the direct workings of the GPU, but will grant a higher-level method of controlling what operations the GPU performs.

Most modern rendering APIs provide fine-grained control over input and output of data using shaders, programmable applications running on the GPU specifying how the data received is to be converted to what the specific shader is designed to deliver. For instance, a vertex shader will take in vertex data and will return a normalized screen coordinate indicating the position on the screen the vertex is located at, whereas a pixel shader takes in paramters from the pixel shader to determine the color of the specific pixel.