Software rasterization is a process by which a scene or image created in three-dimensional (3D) computer graphics software is converted from one form into another. There are two basic types of images that are created through computer graphics, which are referred to as vector-based and raster-based graphics. Vector-based images are created through the use of geometry that includes lines and shapes to make an image, while raster-based graphics use pixels, which are individual points of light or color, to create images. Software rasterization is a process by which a program rather than hardware is used to convert vector-based images into raster-based pictures, for display on a monitor.
In order to fully understand software rasterization, it is important that someone first comprehends the two primary ways in which computer images are created and displayed. Vector-based images are created through the use of geometric shapes. This includes basic lines and points that can be assembled together to make other shapes, including various polygons often used in the creation of three-dimensional or 3D graphics. Most 3D images are generated as various shapes that are created by assembling numerous tiny triangles together.
Each of these triangles is generated as a vector-based image, and so the assembled pieces that make up a larger scene are also vector-based. For these to be properly displayed on a computer or television screen, however, they must first be converted into a format that can be more effectively conveyed on such a screen. Monitors and televisions use individual points of light and color that are referred to as pixels, or “picture elements.”
Images that are created through the use of pixels are referred to as raster-based images. Rather than using lines and shapes to create a picture, raster-based images are made through the combination of dozens, hundreds, or thousands of individual points. In order for a vector image to be properly and easily displayed on a screen that uses pixels, it is typically converted into a raster-based image, a process referred to as “rasterization.”
Software rasterization simply means that this conversion is handled by a program, rather than by hardware within a computer or other device. A video game developer, for example, typically uses software rasterization in order to ensure that 3D polygonal images are properly displayed. This allows the graphics created for a game to display through the program itself, rather than relying on hardware that may or may not be present in a player’s computer.
As technology has improved, software rasterization has become largely supported by hardware. Dedicated video cards that provide additional processing power for graphics have made this process easier and allowed for greater opportunities for game developers. Real time rendering relies on rasterization occurring dozens of times each second, which has become simpler due to advanced software and more powerful graphics processing units.