The Flame GPU — Initial Design Part 1: Basic Requirements
- Tom Gambill
- Mar 14
- 1 min read

Now that we are sufficiently far along with the Ember CPU design, we will begin looking at the design of the Graphics Processing Unit, or GPU.
Before the turn of the century, most graphics or display chips processed only very simple 2-dimensional images, especially in home consoles and PCs. 3D triangle rendering only started to become available to home devices in the last half of the 1990s and into the new century, though 3D triangle-based games were already in arcade hardware throughout the 90s. Even slightly more advanced consoles in the 90s, like the Sega Genesis and Super Nintendo Entertainment System, could only display a few background images and a small number of sprites, or movable 2D images, each frame…though they could perform quite a few effects on these, like rotation and scrolling.
To properly imitate these machines, we want our GPU to be able to display one or more color backgrounds, scroll, rotate, and apply effects to them, and draw some number of movable color sprites over the backgrounds. However, just like with the Ember CPU, we will start with a limited set of capabilities and then gradually evolve this over time, adding new features only as needed.
Comentarios