by John F. Hughes
ISBN: 0321399528
Buy on Amazon
Found in 8 comments on Hacker News
pjmlp · 2022-12-29 · Original thread
If you're willing to spend some money, the classical,

https://www.amazon.com/Computer-Graphics-Principles-Practice...

Don't be scared by the price, it tends to be available on many university libraries, and I guess some 2nd hand deals as well. So that could be a way to try to get hold of it.

First edition used Fortran and Pascal, 2nd edition C, the latest C# and C++ for the samples.

bsenftner · 2022-10-23 · Original thread
The book you want is called within the graphics industry "Foley Van Dam", after the original authors, but the actual title is "Computer Graphics: Principles and Practice". https://www.amazon.com/Computer-Graphics-Principles-Practice...

You may also be interested in "ACM: Transactions on Graphics", the Association of Computing Machinery's publication of computer graphics research papers. I suggest going to a University technical/research library, where you should be able to access the collection of issues from the 80's, where the original scan line, ray tracing, CSG, and pretty much every single advanced graphics technique (minus the deep learning) used today is documented by the original innovators.

At that same University research library they might have the collected set of course text books (mimeographs and photocopies) used for the 3-day long courses taught at SIGGRAPH every year.

These items are invaluable, and I reference them multiple times a year.

Impossible · 2017-03-13 · Original thread
This is a solid list, but its a shame that no computer graphics resources are even mentioned. Although the reason for the omission is mentioned in the FAQ, I'd argue that computer graphics basics (images, basic rasterization, color spaces, etc.) are as fundamental as networking or databases. A link to Computer Graphics Principles and Practice (https://www.amazon.com/Computer-Graphics-Principles-Practice...) would have been nice.

I understand that most graphics resources out there focus on real-time 3D rendering for games or writing raytracers, which I agree are currently industry specific topics. Your average developer isn't going to write a vector graphics library as part of their day job, but the browser abstracts computer graphics in the same way it abstracts networking or compilers, so if the goal is to understand the underlying principles of software platforms you'll be working on every day I think computer graphics is a strange, biased, omission.

adamnemecek · 2017-01-19 · Original thread
Few things consistently blow my mind as insane graphics demos

https://www.shadertoy.com/view/4dfGzS (or basically anything on that site)

How is that 400 lines of code.

Or this one which even generates the sound on the GPU

https://www.shadertoy.com/view/4ts3z2

With the wide adoption of WebGL, it's a good time to get involved in graphics. Furthermore, GPUs are taking over esp. with the advent of machine learning (nvidia stock grew ~3x, amd ~5x last year). The stuff nvidia has been recently doing is kinda crazy. I wouldn't be surprised if in 15 years, instead of AWS, we are using geforce cloud or smth, just because nvidia will have an easier time building a cloud offering than amazon will have building a gpu.

These are some good resources to get started with graphics/games

# WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL

https://www.amazon.com/WebGL-Programming-Guide-Interactive-G...

Historically, C++ has definitely been THE language for doing graphics but if you are starting these these, you would have to have really compelling reasons to start with C++ and not JavaScript and WebGL. And that's coming from someone who actually likes C++ and used to write it professionally.

# Book of Shaders

https://thebookofshaders.com/

# Game Programming Patterns

http://gameprogrammingpatterns.com/contents.html

https://www.amazon.com/Game-Programming-Patterns-Robert-Nyst...

HN's own @munificent wrote a book discussing the most important design patterns in game design. Good book applicable beyond games.

# Game engine architecture

https://www.amazon.com/Engine-Architecture-Second-Jason-Greg...

# Computer graphics: Principles and Practice

https://www.amazon.com/Computer-Graphics-Principles-Practice...

This is more of college textbook if you'd prefer that but the WebGL one is more accessible and less dry.

# Physically Based Rendering & Real-Time Rendering

These discuss some state of the art techniques in computer graphics. I'm not going to claim to have really read them but from what I've seen they are very solid.

https://www.amazon.com/Computer-Graphics-Principles-Practice...

https://www.amazon.com/Physically-Based-Rendering-Third-Impl...

jlarocco · 2016-10-29 · Original thread
Maybe my expectations are too high, but that's just a collection of random comments loosely related to graphics. It's a terrible introduction, and it doesn't give any concrete information on how to get started.

My advice for people interested in graphics would be to jump in and get started with a tutorial on the web and then get a book or two to learn more. My recommendations would be:

Introduction To Ray Tracing - It focuses on ray tracing, but many of the topics (vectors, matrices, shading, view transforms, etc.) are applicable regardless of the actual rendering method, and it does a good job explaining all of it.

https://www.amazon.com/Introduction-Tracing-Kaufmann-Compute...

Real Time Rendering - This also covers all the math, but focuses on rendering at a higher level and covers more ground.

https://www.amazon.com/Real-Time-Rendering-Third-Tomas-Akeni...

Finally, Computer Graphics: Principles and Practice - This is a great general reference for more specific topics. It's like Real Time Rendering expanded to cover more topics and going into more depth. Not a beginner reference, but great to have when you need more information on something.

https://www.amazon.com/Computer-Graphics-Principles-Practice...

kar1181 · 2014-01-30 · Original thread
I don't think there's anything quite like Abrash's tome in breadth or all the other intangibles he eloquently wrote about (I mean the best optimizer is between your ears is worth a book in itself!)

Bur for graphics programming, Foley and Van Damm is probably the canonical text - now in 3rd edition. http://www.amazon.com/Computer-Graphics-Principles-Practice-...

ChuckMcM · 2012-11-24 · Original thread
Sigh, the canonical reference on 3D graphics "in software" has been the Foley and Van Dam tome "Computer Graphics: Principles and Practice in C" [1], followed closely by "Principles of Interactive Computer Graphics" [2] by Newman and Sproul. Followed closely by the Graphics Gems series, and then Watt's eponymous "3D Computer Graphics" [3] and "Real Time Rendering" [4] by Moller and Haines.

All wonderful texts and can tell you everything you want to know about doing 3D graphics in software. They won't help at all (generally) for GPU based graphics sadly.

[1] http://www.amazon.com/Computer-Graphics-Principles-Practice-...

[2] http://www.amazon.com/Principles-Interactive-Computer-Graphi...

[3] http://www.amazon.com/Computer-Graphics-3rd-Alan-Watt/dp/020...

[4] http://www.amazon.com/Real-Time-Rendering-Third-Tomas-Akenin...