HACKER Q&A
📣 sharedptr

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.


  👤 RossBencina Accepted Answer ✓
Going more in the computational geometry direction, in addition to some interesting algorithms in the Graphics Gems series:

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.


👤 wizzerking
GPU Gems https://github.com/yyc-git/MyData/blob/master/3d/GPU%20Gems/...

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/


👤 agarren
There was a similar post a week or two back, and many of the responses mentioned scratchapixel [0]. It seems like a solid recommendation, and I got lost in a couple of the links.

[0] https://www.scratchapixel.com/


👤 abhi9u
Ray Tracing in One Weekend: https://raytracing.github.io/

👤 vineyardlabs
Personally I've recently discovered the YouTube channel Acerola [1], who works as a graphics programmer at Intel I believe and posts highly technical but also entertaining videos on real world rendering/shader techniques that are actually in use in games.

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


👤 barrysteve
LearnOpenGl.com

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


👤 karmakaze
I was just thinking along these same lines and found myself considering using raylib (building on SDL2) for a small/fun side project.

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


👤 ttoinou
1000% Shadertoy.com

The book of shaders or youtube tutorials about shadertoy


👤 z303
Tiny Code Christmas just started today. That is geared towards beginners in the demoscene and everyone is very friendly

https://tcc.lovebyte.party/



👤 beardyw
I made earth globe for something I was building on the web. You can get good map points and you can (should) use three.js Very satisfying to see it spin and tilt. Fun.

👤 doubloon
i think these days one of the quickest ways to ramp up is to subscribe to Chat GPT 4 and ask it "please help me write a graphics program to draw a cube", or some other simple example, then ask it to explain each piece of code and what it is doing.

👤 brudgers
Processing.org