Ask HN: Learn Graphics Programming, Recommendations?
Can you recommend good resources? Books work best for me but I’m open to anything. The more practical the better.
Can you recommend good resources? Books work best for me but I’m open to anything. The more practical the better.
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
You should be able to get your hands dirty pretty quickly implementing cool things on ShaderToy.
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/
[0] https://pragprog.com/titles/jbtracer/the-ray-tracer-challeng...
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
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.
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
The book of shaders or youtube tutorials about shadertoy
https://www.gabrielgambetta.com/computer-graphics-from-scrat...