ABSTRACT

Now that we have seen the basics for a graphics system, let us go through theprocess of drawing geometric primitives in greater detail. Many of these details are handled for you by the drivers that ship with hardware-accelerated graphics cards. Some feedback was solicited from reviewers of the first edition of this book in order to identify what improvements could be made. One of the comments was to focus less on software rendering because graphics hardware is so abundant and most developers will not be exposed to that type of detail when using a graphics API. I have taken the opposite stance for three reasons:

1. Someone has to write the graphics drivers; that might be you. This is not to say that the decisions you make when designing and building drivers for hardware are the same as those for software. On fast dedicated hardware, you tend to choose algorithms that are “dumb and fast”; whereas, on CPUs you typically select algorithms that are “smart” about use of the CPU resources. However, the graphics fundamentals are the same in either case-it is just a question of what your target hardware is (CPU or GPU).