3 ms·
This is a great resource. Some others along the same lines: TinyRenderer: https://haqr.eu/tinyrenderer/ https://haqr.eu/tinyrenderer/ ScratchAPixel: https://w
by delta_p_delta_x 9mo ago
This is a great resource. Some others along the same lines:
TinyRenderer: https://haqr.eu/tinyrenderer/ https://haqr.eu/tinyrenderer/
ScratchAPixel: https://www.scratchapixel.com/index.html https://www.scratchapixel.com/index.html
3D Computer Graphics Programming by Pikuma (paid): https://pikuma.com/courses/learn-3d-computer-graphics-programming https://pikuma.com/courses/learn-3d-computer-graphics-progra...
Ray-tracing:
Ray Tracing in One Weekend: https://raytracing.github.io/ https://raytracing.github.io/
Ray Tracing Gems: https://www.realtimerendering.com/raytracinggems/ https://www.realtimerendering.com/raytracinggems/
Physically Based Rendering, 4th Edition: https://pbr-book.org/ https://pbr-book.org/
Both:
Computer Graphics from Scratch: https://gabrielgambetta.com/computer-graphics-from-scratch/ https://gabrielgambetta.com/computer-graphics-from-scratch/
I'll also link a comment[1] I made a while back about learning 3D graphics. There's no better teacher than manually implementing the rasterisation and ray-tracing pipelines.
[1]: https://news.ycombinator.com/item?id=46410210#46416135 https://news.ycombinator.com/item?id=46410210#46416135
- ggambetta 9mo agoMay I add Computer Graphics From Scratch, which covers both rasterization and raytracing? https://gabrielgambetta.com/computer-graphics-from-scratch/index.html https://gabrielgambetta.com/computer-graphics-from-scratch/i... I have to admit I'm quite surprised by how eerily similar this website feels to my book. The chapter structure, the sequencing of the concepts, the examples and diagrams, even the "why" section (mine https://gabrielgambetta.com/computer-graphics-from-scratch/00-introduction.html#why-read-this https://gabrielgambetta.com/computer-graphics-from-scratch/0... - theirs https://lisyarus.github.io/blog/posts/implementing-a-tiny-cpu-rasterizer-part-1.html#section-but-why https://lisyarus.github.io/blog/posts/implementing-a-tiny-cp...) I don't know what to make of this. Maybe there's nothing to it. But I feel uneasy :(
- delta_p_delta_x 9mo agoAh yes, great book; thanks for pointing it out. Added to the list. As for similarity, I think the sections you've highlighted are broadly similar, but I can't detect any phrase-for-phrase copy-pasting that is typical of LLM or thesaurus find-replace. I feel that the topic layout and the motivations for any tutorial or course covering the same subject matter will eventually converge to the same broad ideas. The website's sequence of steps is also a bit different compared to your book's. And most telling, the code, diagrams, and maths in the website are all different (such assets are usually an instant giveaway of plagiarism). You've got pseudocode; the website uses the C++ standard library to a great extent. If it were me, I might rest a little easier :)
- lisyarus 9mo agoHi! Blog post author here. I have heard the "Computer Graphics from Scratch" book before, but I haven't read it myself, so it would be quite hard for me to plagiarize it. I guess some similarities are expected when talking about a well-established topic.
- globalnode 9mo agoits a standard pipeline, everything from everyone will look roughly similar. your book likely looks something like previous work. i wouldnt worry about it, ps i really loved your web tutorials back in the day
- gopla 9mo agoAn additional resource on rasterisation, using the scan conversion technique: https://kristoffer-dyrkorn.github.io/scanline-rasterizer/ https://kristoffer-dyrkorn.github.io/scanline-rasterizer/
- Levitating 9mo agoI can vouch for scratchapixel, it taught me the basics of 3d projection
- gustavopezzi 9mo agoThanks for mentioning pikuma. :-) The 3D software rendering is still the most popular lecture from our school even after all these years. And it really surprises me because we "spend a lot of time" talking about some old techniques (MS-DOS, Amiga, ST, Archimedes, etc.). But it's fun to see how much doing things manually help students understand the math and the data movement that the GPU helps automate and vectorize in modern systems.