Essentially the title. I wanted to explore something different to what I’m doing on a daily basis.<p>Can you recommend good resources? Books work best for me but I’m open to anything. The more practical the better.
Going more in the computational geometry direction, in addition to some interesting algorithms in the Graphics Gems series:<p>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 <a href="https://www.science.smith.edu/~jorourke/books/compgeom.html" rel="nofollow noreferrer">https://www.science.smith.edu/~jorourke/books/compgeom.html</a><p>Ericson, "Real-Time Collision Detection". Deep dive into practical collision detection algorithms.<p>And for Shaders, check out Inigo Quilez and ShaderToy:<p>- <a href="https://www.youtube.com/@InigoQuilez" rel="nofollow noreferrer">https://www.youtube.com/@InigoQuilez</a><p>- <a href="https://iquilezles.org/" rel="nofollow noreferrer">https://iquilezles.org/</a><p>- <a href="https://www.shadertoy.com/" rel="nofollow noreferrer">https://www.shadertoy.com/</a><p>You should be able to get your hands dirty pretty quickly implementing cool things on ShaderToy.
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.<p>[0] <a href="https://www.scratchapixel.com/" rel="nofollow noreferrer">https://www.scratchapixel.com/</a>
Ray Tracing in One Weekend: <a href="https://raytracing.github.io/" rel="nofollow noreferrer">https://raytracing.github.io/</a>
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.<p>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].<p>[1] <a href="https://www.youtube.com/@Acerola_t" rel="nofollow noreferrer">https://www.youtube.com/@Acerola_t</a>
[2] <a href="https://pbr-book.org" rel="nofollow noreferrer">https://pbr-book.org</a>
LearnOpenGl.com<p>Possibly a smidge outdated.<p>Goes from blank window to rendering 3d meshes with advanced lighting techniques (HDR, SSAO and more).<p>Heped me understand shader pipeline, so I recommend it.<p><a href="https://learnopengl.com" rel="nofollow noreferrer">https://learnopengl.com</a>
I was just thinking along these same lines and found myself considering using raylib (building on SDL2) for a small/fun side project.<p>It has bindings for Zig so that might be a good combo, having used neither :-) The list of language bindings is impressive[0].<p>[0] <a href="https://github.com/raysan5/raylib/blob/master/BINDINGS.md">https://github.com/raysan5/raylib/blob/master/BINDINGS.md</a>
Tiny Code Christmas just started today. That is geared towards beginners in the demoscene and everyone is very friendly<p><a href="https://tcc.lovebyte.party/" rel="nofollow noreferrer">https://tcc.lovebyte.party/</a>
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.
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.