[HN Gopher] Learn computer graphics from scratch and for free
___________________________________________________________________
Learn computer graphics from scratch and for free
Author : theusus
Score : 142 points
Date : 2025-12-28 11:08 UTC (11 hours ago)
(HTM) web link (www.scratchapixel.com)
(TXT) w3m dump (www.scratchapixel.com)
| yunnpp wrote:
| The website has come a long way, a good reminder for Santa to
| drop a donation.
|
| Computer graphics needs more open education for sure. Traditional
| techniques are sealed in old books you have to go out of your way
| and find; Sergei Savchenko's "3D Graphics Programming Games and
| Beyond" is a good one. New techniques are often behind
| proprietary gates, with shallow papers and slides that only give
| a hint of how things may work. Graphics APIs, especially modern
| ones, make things more confusing than they need to be too. I
| think writing software rasterizers and ray tracers is a good
| starting point; forget GPUs exist.
|
| Also, slight tangent, but there doesn't seem to be any contact
| method here other than Discord, which I find to be an immediate
| turn-off. Last time I checked, it required a phone number.
|
| The donations page could use a link directly from the homepage
| too.
| WillAdams wrote:
| I can still remember a fellow student wanting to know how to
| write a 3D computer game, the professor being stumped, and my
| chiming in w/
|
| >Get Foley & Van Dam from the library
|
| noting it should be available to check out, since I'd just
| checked it back in.
|
| Several new editions since:
|
| https://www.goodreads.com/book/show/5257044-computer-graphic...
| yunnpp wrote:
| Yeah, that's "the mouse book" in my mind. The tiger book is
| also a very good compilation of topics, though it leaves
| things as "exercise for the reader" more often than I would
| like to.
|
| https://www.goodreads.com/book/show/1933732.Fundamentals_of_.
| ..
| tombert wrote:
| Graphics have been a blind spot for me for pretty much my entire
| career. I more or less failed upward into where I am now (which
| ended up being a lot of data and distributed stuff). I do enjoy
| doing what I do and I think I'm reasonably good at it so it's
| hardly a "bad" thing, but I (like I think a lot of people here)
| got into programming because I wanted to make games.
|
| Outside of playing with OpenGL as a teenager to make a planet
| orbit around a sun, a bad space invaders clone in Flash where you
| shoot a bird pooping on you, a really crappy Breakout clone with
| Racket, and the occasional experiments with Vulkan and Metal, I
| never really have fulfilled the dream of being the next John
| Carmack or Tim Sweeney.
|
| Every time I try and learn Vulkan I end up getting confused and
| annoyed about how much code I need to write and give up. I
| suspect it's because I don't really understand the fundamentals
| well enough, and as a result jumping into Vulkan I end up
| metaphorically "drinking from a firehose". I certainly hope this
| doesn't happen, but if I manage to become unemployed again maybe
| that could be a good excuse to finally buckle down and try and
| learn this.
| socalgal2 wrote:
| Try WebGL or better, WebGPU. It's so much easier and all the
| concepts you learn are applicable to other APIs.
|
| https://webgpufundamentals.org
|
| or
|
| https://webgl2fundamentals.org
|
| I'd choose webgpu over webgl2 as it more closely resembles
| current mondern graphics APIs like Metal, DirectX12, Vulkan.
| tombert wrote:
| Yeah you're not the first one to mention that to me. I'll
| probably try WebGPU or wgpu next time I decide to learn
| graphics. I'd probably have more fun with it than Vulkan.
| gattr wrote:
| I concur; just last month I started with `wgpu` (the Rust
| bindings for WebGPU) after exclusively using OpenGL (since
| 2000, I think? via Delphi 2). Feels a bit verbose at first
| (with all the pipelines/bindings setup), but once you have
| your first working example, it's smooth sailing from there. I
| kind of liked (discontinued) `glium`, but this is better.
| weslleyskah wrote:
| I feel the same. I was trying to make some "art" with shaders.
|
| I was inspired by Zbrush and Maya, but I don't think I can
| learn what is necessary to build even a small clone of these
| gigantic pieces of software, unless I work with this on a day
| to day basis.
|
| The performance of Zbrush is so insane... it is mesmerizing. I
| don't think I can go deep into this while treading university.
| bicolao wrote:
| > Every time I try and learn Vulkan I end up getting confused
| and annoyed about how much code I need to write and give up.
|
| Vulkan isn't meant for beginners. It's a lot more verbose even
| if you know the fundamentals. Modern OpenGL would be good
| enough. If you have to use Vulkan, maybe use one of the
| libraries built on top of it (I use SDL3 for example). You
| still have freedom doing whatever you want with shaders and
| leave most of resource management to those libraries.
| suioir wrote:
| I really enjoy the website content and appreciate the hard work
| to create it. Also, thank you to the author for taking action on
| the HN feedback last year about the AI thumbnails that used to be
| all over this site. [0]
|
| [0] https://news.ycombinator.com/item?id=40622209
| RodgerTheGreat wrote:
| There's still an obnoxious slop image front-and-center, full of
| nonsense typos. Not a good look for any educational resource.
| suprjami wrote:
| One of my goals this year is to write a basic software 3D
| renderer from first principles. No game engine, no GPU. I'm
| looking forward to it.
| listic wrote:
| build-your-own-x*, a popular compilation of "well-written,
| step-by-step guides for re-creating our favorite technologies
| from scratch", contains some.
|
| * https://github.com/codecrafters-io/build-your-own-x
| delta_p_delta_x wrote:
| Here you go: https://haqr.eu/tinyrenderer/
| ggambetta wrote:
| OP's link is a good one, but if you want a different
| perspective (heh), there's
| https://gabrielgambetta.com/computer-graphics-from-
| scratch/i..., also from scratch, also for free. The name clash
| is unfortunate, I don't really know who started using it
| earlier :(
| neuroelectron wrote:
| Just in case NVidia stops having a monopoly of graphics APIs, and
| Google on the web, and AMD as the alternative that sucks and
| isn't maintained.
| random9749832 wrote:
| You can now post a link of a website into an LLM and turn it into
| an interactive resource. I did this but with a 1000 page PDF
| today to help me learn more about game engines. Best way to do it
| if you don't want it to become another PDF / bookmark that is
| forgotten.
___________________________________________________________________
(page generated 2025-12-28 23:00 UTC)