Ask HN: Learn Graphics Programming, Recommendations?
Essentially the title. I wanted to explore something different to what I’m doing on a daily basis.
Can you recommend good resources? Books work best for me but I’m open to anything. The more practical the better.
16 comments
[ 30.0 ms ] story [ 507 ms ] thread[0] https://pragprog.com/titles/jbtracer/the-ray-tracer-challeng...
https://www.nvidia.com/en-us/drivers/gpu-gems-home/
Free Computer Books https://freecomputerbooks.com/
Other free book sites https://freecomputerbooks.com/otherBooks.html
Some computer & Machine Learning Free Books Creative Commons License
Graphics Gems Series Use ayour favorite search engine https://www.intechopen.com/
It has bindings for Zig so that might be a good combo, having used neither :-) The list of language bindings is impressive[0].
[0] https://github.com/raysan5/raylib/blob/master/BINDINGS.md
[0] https://www.scratchapixel.com/
https://www.gabrielgambetta.com/computer-graphics-from-scrat...
The book of shaders or youtube tutorials about shadertoy
Possibly a smidge outdated.
Goes from blank window to rendering 3d meshes with advanced lighting techniques (HDR, SSAO and more).
Heped me understand shader pipeline, so I recommend it.
https://learnopengl.com
O'Rourke, "Computational Geometry in C 2e". Deals with the basics in a principled way. Start here for fundamentals like a good algorithm for intersection of two lines, or inside/outside polygon tests (don't depend on garbage blog posts for well studied fundamentals like this). The book's webpage is https://www.science.smith.edu/~jorourke/books/compgeom.html
Ericson, "Real-Time Collision Detection". Deep dive into practical collision detection algorithms.
And for Shaders, check out Inigo Quilez and ShaderToy:
- https://www.youtube.com/@InigoQuilez
- https://iquilezles.org/
- https://www.shadertoy.com/
You should be able to get your hands dirty pretty quickly implementing cool things on ShaderToy.
https://tcc.lovebyte.party/
There's also pbr, which I understand is a legit professional level physically based rendering engine that is fully open source and documented in the form of this text[2].
[1] https://www.youtube.com/@Acerola_t [2] https://pbr-book.org