1983
Fundamentals of interactive computer graphics John F. Hughes; Andries van Dam; Morgan McGuire; David F. Sklar; James D. Foley; Steven K. Feiner; Kurt Akeley https://archive.org/details/fundamentalsofin00fole
1990
Computer graphics : Principles and Practice also known as the "Fundamentals of interactive computer graphics 2nd Edition" John F. Hughes; Andries van Dam; Morgan McGuire; David F. Sklar; James D. Foley; Steven K. Feiner; Kurt Akeley https://archive.org/details/computergraphics00fole
1997
Graphics Programming Black Book
Michael Abrash
http://www.jagregory.com/abrash-black-book
https://www.drdobbs.com/parallel/graphics-programming-black-book/184404919
1999
Real-Time Rendering (1st Edition) Tomas Akenine-Möller, Eric Haines, Naty Hoffman
2002
Real-Time Rendering (2nd Edition) Tomas Akenine-Möller; Eric Haines; Naty Hoffman http://www.realtimerendering.com/
2008
Real-Time Rendering (3rd Edition) Tomas Akenine-Mollen; Eric Haines; Naty Hoffman http://www.realtimerendering.com/
2013
Computer Graphics: Principles and Practice (3rd Edition) John F. Hughes; Andries van Dam; Morgan McGuire; David F. Sklar; James D. Foley; Steven K. Feiner; Kurt Akeley http://dept.cs.williams.edu/~morgan/cgpp/about.xml
2018
Introduction to Computer Graphics David J. Eck http://math.hws.edu/graphicsbook/
Real-Time Rendering (4rd Edition) Tomas Akenine-Möller; Eric Haines; Naty Hoffman; Tomas Möller; http://www.realtimerendering.com/
The Case for Teaching Computer Graphics with WebGL: A 25-Year Perspective https://ieeecs-media.computer.org/assets/pdf/mcg2017020106.pdf
To see:
https://vimeo.com/16292363 https://www.youtube.com/watch?v=6G3O60o5U7w
References: https://mrl.nyu.edu/~perlin/courses/spring2018/2018_01_23/
Distinction between Rasterizer and Raytracer
To see: https://www.youtube.com/watch?v=QP3YywgRx5A&src_vid=VzFpg271sm8
References: https://mrl.nyu.edu/~perlin/courses/spring2018/2018_01_25/
Fragment Shader Tutorials: https://mrl.nyu.edu/~perlin/fragment_shaders/ https://mrl.nyu.edu/~perlin/fragment_shaders_with_noise/
Reference: https://mrl.nyu.edu/~perlin/courses/spring2018/2018_01_30/
Fragment shader Raytracer: https://mrl.nyu.edu/~perlin/courses/spring2019/2019_02_21/shader3.zip https://mrl.nyu.edu/~perlin/courses/spring2019/2019_02_28/shader4.zip https://mrl.nyu.edu/~perlin/courses/spring2019/2019_03_07/shader5.zip https://mrl.nyu.edu/~perlin/courses/spring2019/2019_03_28/shader6.zip (need to implement mat4 see https://mrl.nyu.edu/~perlin/courses/spring2019/2019_03_28/) https://mrl.nyu.edu/~perlin/courses/spring2019/2019_04_04/shader7.zip
References: https://mrl.nyu.edu/~perlin/courses/spring2018/2018_02_06/ https://mrl.nyu.edu/~perlin/courses/spring2019/2019_02_14/
https://mrl.nyu.edu/~perlin/courses/spring2019/2019_02_19/
//TODO
Chapter 35 Graphics Programming Black Book
Algorithm for computer control of a digital plotter by J. E. Bresenham https://www.cse.iitb.ac.in/~paragc/teaching/2013/cs475/papers/bresenham_line.pdf
Computer graphics : Principles and Practice (2nd Edition) 3.2 SCAN CONVERTING LINES
PARAMETRIC CUBIC CURVES https://mrl.nyu.edu/~perlin/courses/spring2019/2019_04_11/
References:
https://www.sjbaker.org/wiki/index.php?title=The_History_of_The_Teapot https://mrl.nyu.edu/~perlin/courses/spring2018/2018_04_17/