Software Rasterizer Part 2

Original Author: Simon Yeung Introduction Continue with the affine transformation (i.e. after transformation, the mid-point of the line segment is no longer the mid-point), this will result in some distortion and this artifact is even more noticeable when the triangle is large: interpolate in screen space perspective correct interpolation Condition for linear interpolation When interpolating the … Continue reading “Software Rasterizer Part 2”

Functional Programming in C++

Original Author: John-Carmack Probably everyone reading this has heard “functional programming” put forth as something that is supposed to bring benefits to software development, or even heard it touted as a silver bullet.  However, a trip to Wikipedia for some more information can be initially off-putting, with early references to lambda calculus and formal systems.  … Continue reading “Functional Programming in C++”

Exceptional Floating Point

Original Author: Bruce-Dawson Floating-point math has an answer for everything, but sometimes that’s not what you want. Sometimes instead of getting an answer to the question sqrt(-1.0) (it’s NaN) it’s better to know that your software is asking imaginary questions. The IEEE standard for floating-point math defines five exceptions that shall be signaled when certain … Continue reading “Exceptional Floating Point”