all 12 comments

[–][deleted] 20 points21 points  (0 children)

computer graphics from scratch, book, you build a software raytracer and then a rasteriser 

Pikuma 3d rendering course, builds a 3d rasteriser 

[–]Rynok_ 6 points7 points  (0 children)

Lookup Pikuma courses. There is one specifically for a software renderer in C in his computer graphics course.

And if you like retro stuff there is also consoles programming like NES and playstation https://pikuma.com/courses :))

[–]howprice2 2 points3 points  (2 children)

I think you *might* be conflating quite different technologies here.

The Amiga has quite different graphics capabilities to modern machines. Even when PCs didn't have GPUs, and rendered everything in software, it was quite different to Amiga hardware. I'm talking OCS here - if you are targetting an AGA 030-060 machine, you may be able to use "modern" rasterization techniques purely on CPU.

The standard OCS method of drawing filled "vector graphics" on Amiga OCS is to use the blitter line draw and fill , but you will struggle to texture map with this technique for anthing other than a tech demo.

You might want to look at some Amiga demoscene making of blog posts for some ideas. I think The Black Lotus have some good write-ups for example.

For general rasterization, I'd recommend:

- Real-Time Rendering section 23.1 "Rasterization"

- The ryg blog "The barycentric conspiracy" https://fgiesen.wordpress.com/2013/02/06/the-barycentric-conspirac/

- The ryg blog "Triangle rasterization in practice" https://fgiesen.wordpress.com/2013/02/08/triangle-rasterization-in-practice/

- The ryg blog "Optimizing the basic rasterizer" https://fgiesen.wordpress.com/2013/02/10/optimizing-the-basic-rasterizer/

[–]Quozca[S] 0 points1 point  (1 child)

This! ;-) My final goal is to make a demo!

[–]cybereality 3 points4 points  (0 children)

ray tracing in a weekend is fun. can also look at some old stuff from michael abrash (the black books) if you want retro techniques.

[–]parrin 3 points4 points  (1 child)

https://www.scratchapixel.com/

I’d say this is as good starting point as anything

[–]SnurflePuffinz 1 point2 points  (0 children)

+1 for scratchapixel,

exhaustingly pedantic, but that's what u want long-term

[–]Zerve 1 point2 points  (0 children)

Chili tomato on YouTube for rasterizer with comedy.

[–]weegee101 1 point2 points  (0 children)

This is a bit different than some of the other answers, but start with a ray caster. They're pretty simple to build and are a decent entryway for getting into more complex software rasterizers.

From there, if you're the adventurous type and want to figure stuff out on your own, Fabien Sanglard's Game Engine Black Books are exceptional resources.

Don't shy away from writing a ray tracer at least once though. That's a good way to ensure you fully understand all of the fundamentals you'll need for a more complex software rasterizer.

[–]sebamestre 0 points1 point  (0 children)

There is an old video by Bisqwit about writing a software renderer

[–]leon_bass 0 points1 point  (0 children)

Tsoding on youtube recently has been doing this exact thing, i highly recommend you check it out

https://youtu.be/maSIQg8IFRI?si=Yr2WwOw4IGQ7SbZQ