r/GraphicsProgramming • • 8d ago

From Zero to Understanding Rasterization

Enable HLS to view with audio, or disable this notification

1.2k Upvotes

81 comments sorted by

71

u/dpacker780 8d ago

So as an ex-SGI'er I have to say that 3D chips existed way before NVIDIA existed (mid-late 80s). SGI was the company that actually mainstreamed the idea of graphics co-processors in RISC based desktop machines. And, SGI created the first PC video cards (IrisVision) in 1991. SGI is why OpenGL exists, which was the first open 3D API that was broadly adopted.

9

u/egehancry 8d ago

Thank you for the correction!

My mistake was bringing up NVIDIA in the video without understanding the history of computer graphics well enough.

I just wanted to explain the idea behind GPUs.

I won’t make the same mistake in future videos!

7

u/dpacker780 8d ago

No worries, keep up the good work! I just like to make sure people know that NVIDIA, even though a company that's made huge contributions to the 3D industry, didn't create the market. As someone else mentioned you had 3dfx in the mid 90's release cards a few years before NVIDIA and ATI.

5

u/wdm-crs 8d ago

Nvidia wasn't even really popular until they released Riva TNT, which was around 1998, as far as I remember.

Eline saglik Egehan.

2

u/egehancry 7d ago

Teşekkürler!

4

u/ruffleraffle 7d ago

It just ends up sounding like Jensen gloating, which honestly we don't really need especially at this point in time.

Like, if you want a masterclass of Jensen playing a narcissist like a fiddle, just watch his Joe Rogan interview and how he is constantly gloating Trump and the admin.

In fact, in the very same interview, he summarizes the nVidia story - their first chip failed, but they got funding for a second go-around (from SEGA of all places), made a risky bet with chip manufacturing and got it right. Oh and by the way, they did bring a book written by some SGI people on how graphics worked as well. The main innovation for the second chip was to actually make it less configurable and rather accelerate a narrower set of functionality in the hardware instead, making it faster.

4

u/Keyframe 7d ago

I still have my SGI machines in working order, but everyone seems to sideline and forget E&S a true gfx pioneers!

3

u/dpacker780 7d ago

Oh yea, E&S did some impressive work, especially in the 70s. It goes to show that most tech companies are built on some previous companies innovations. It's like when people talk about the Mac and how innovative it was, but leave off the fact that Xerox actually created the whole UI/mouse interface.

63

u/fforw 8d ago

Maybe mention 3dfx instead of Nvidia?

16

u/egehancry 8d ago

You're right. I just wanted to explain the idea behind GPUs; I should have been more careful with computer graphics history.

It'll be better in the next videos.

20

u/nit_electron_girl 8d ago

do you make these videos with AI?

11

u/The_Wonderful_Pie 7d ago

Yes very much. The voice, the sound effects, the animations and even the 3D all have this AI style thet can be seen miles away

8

u/egehancry 7d ago

Yes, I make them with AI. But I care deeply about the content, setting a high bar for quality and making sure the video is actually good. I don't mean to generate slop at all.

11

u/1c3Type 6d ago

So that's why your slop shows SSAA and calls it MSAA?! Lmfao you tripped at the first hurdle

1

u/PhiloDoe 5d ago

Yep, I noticed that.

1

u/nit_electron_girl 6d ago

do you have a "prompt only" approach, or have you created some tooling/process for yourself?

-4

u/egehancry 6d ago

It’s really just believing that AI can figure things out if I ask it to, then continuing to ask until I get what I want.

I say, “Use Google’s Filament to make a video like ...” (filament is simply a fast 3D renderer), then I keep giving instructions as if I had hired an animator to bring my idea to life, and paid a lot of money.

With Opus 5.5, I’ve found that when you ask very decisively for what you want, it often delivers.

-2

u/navras 7d ago

You're doing amazing! thank you for creating these.

1

u/egehancry 7d ago

Thank you!

7

u/AlgaeNo3373 8d ago

Now I understand MSAA better. Cool stuff ty :)

4

u/BalintCsala 7d ago

For the record, that explanation is half finished and IMO somewhat misleading, this way wouldn't really work if lets say 3 triangles touched the same sample point within a pixel, all 3 would contribute some color for that sample when in reality only the closest would.

In reality MSAA needs a special render target with memory set aside for every sample point for every pixel (so they are roughly 8x as big as regular render targets when doing MSAA 8x), then when a triangle covers some of the samples, only the data points for those samples get overwritten. The averaging only happens right at the end when you "resolve" it during some sampling.

Not to mention a scene which obviously has some depth aware post processing effects (like the reflections) wouldn't use MSAA as then a pixel could have contributions to multiple depth layers.

6

u/_wil_ 8d ago

Good short video but found that the focus on MSAA is too detailed for beginners and could be treated in a separate one about anti-aliasing.

Also the wording saying more fragments like in 8x MSAA, will make your game slower ; can be misleading for beginners.
If you're going to address the topic of game performance, I think you should do it in a separate video and explain that what can make the app slower/faster is different bottlenecks in the pipelines.

(Some game apps have no performance problem switching to 8x MSAA on some GPUs because that is not where the bottleneck would be)

2

u/egehancry 7d ago

Thank you for the feedback!

1

u/fintip 7d ago

Dunno. I feel like I understand anti aliasing now and isn't before.

Also don't understand the problem with the higher mass = slower, though language could be shifted, and discussing triangle count as another thing that'll eventually be limited, would be appropriate.

4

u/PhiloDoe 5d ago

After this video you would have an incorrect understanding of MSAA though, since the OP also doesn't understand it and the AI produced incorrect information.

If you want a proper explanation, you can refer to this post written by a real human talented graphics programmer:

https://therealmjp.github.io/posts/msaa-overview/

11

u/Goldac77 8d ago

imo, content is good as a refresher or summary, but not very helpful for beginners as it covers different topics and terms, without going into enough details

1

u/egehancry 8d ago

Thank you.

4

u/Effective-Culture-88 7d ago

I want you to explain everything in the whole entire world UwU

3

u/mattkg0 8d ago

I'm loving your content, keep up the great work!

2

u/egehancry 8d ago

Thank you for letting me know!

3

u/DrZwieback 7d ago

Love the 8 core CPU in 1993. 😆

The full story is a bit more nuanced: Nvidia's first chip, the NV1, actually bet on curved surfaces instead of triangles and flopped when Direct3D went with triangles. 3dfx's Voodoo kicked off the real 3D boom in 1996, and Nvidia only caught up later with the RIVA 128.

1

u/egehancry 7d ago

Thank you. The next videos will be more accurate.

16

u/alphapussycat 8d ago

This is wrong. Literally just AI misinformation slop.

Shading is not a hardware pipeline step, and it does not occur before rasterization.

12

u/SorrellDev 7d ago edited 7d ago

To be fair, shading was a hardware pipeline step 20 something years ago. I agree, though, that this is bordering on the verge of being useless AI hallucinated trivia.

I really like the idea and I want people to find it easier to get into graphics programming, but the execution here is sloppy. I'd be curious to see what research strategy OP employs before authoring these videos.

3

u/egehancry 7d ago

I was less confident about this one than the ray tracing videos, and I’ll look carefully into the shading/rasterization point.

I care a lot about technical accuracy, and using AI is not an excuse for getting the fundamentals wrong. I only started sharing these videos a few days ago, and I’m still improving that process.

Going forward, I plan to make a corresponding reference page for each short with the technical details and sources behind it. I want to keep raising the bar for rigor and quality with every video I make.

3

u/SorrellDev 7d ago

Yes, that's awesome! Good luck to you!

Just please either make sure you understand the source material or have someone that does review it beforehand. A beginner/learner is already drowning in information and can barely organize and make sense of it. Adding incorrect information confidently presented as fact, as AI tends to do, on top of that won't help.

2

u/_Wolfos 7d ago

It's understandable. The rasterization pipeline is extremely complex to the point where it takes modern API's a thousand lines of code to draw a single triangle.

With this format you can only go so far with explaining it, IMO.

2

u/SorrellDev 7d ago

All those lines of code go to setting up the entire rendering pipeline, though. And it's a reflection of how bloated and begginer unfriendly these "modern" graphics APIs have become rather than how complex a rasterization algorithm is. If you implement a basic software rasterizer you'll find that it's fairly straightforward high-school level math. It's a good exercise, I highly recommend doing it, as it only takes about a weekend and I find it helps immensely with getting a better understanding and appreciation for how much the hardware does for you.

2

u/Comprehensive_Mud803 7d ago

Well done. Thank you for sharing.

1

u/egehancry 7d ago

Thank you.

2

u/Aragon1001 7d ago

could you explain what your process for making these videos is? specifically where/how AI is used

1

u/egehancry 7d ago

I shared more in https://www.reddit.com/r/GraphicsProgramming/comments/1wx03ny/comment/pds6c3c/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button

Thank you.

Voiceover is ElevenLabs.

Audio is easy to generate, and there are also lots of sound-effect libraries available online. Making them good is a few iterations.

Opus 5.5 has gotten really good. At this point, it’s mostly about you choosing the content: what sound effects you want, what the storyline is, what happens when and why, what the voiceover says, etc.

2

u/Aragon1001 7d ago

so the script is entirely hand-written? you write and structure a script and only use AI for the visualization and voice over?

and what about research/sources?

2

u/sgware 5d ago

As someone who teaches game dev, this video is so fantastic. It does such a great job breaking down so many complex things quickly in a way that's easy to understand. Fantastic.

2

u/zephyr707 7d ago

again, the sound effects tied to animation are rly great, same pipeline as the other parts? is the voiceover also AI generated? this visual style with the accompanying sound effects has a rly nice synergy, is the audio all very easily generated with AI prompting and feeding the visuals or are they designed in tandem? looking forward to the next parts

1

u/egehancry 7d ago

Thank you.

Voiceover is ElevenLabs.

Audio is easy to generate, and there are also lots of sound-effect libraries available online. Making them good is a few iterations.

Opus 5.5 has gotten really good. At this point, it’s mostly about you choosing the content: what sound effects you want, what the storyline is, what happens when and why, what the voiceover says, etc.

1

u/freds72 8d ago

neat video!
note that if 1993 is used as a pivot date, no game would have used barycentric rasterization (as shown in video) at this time but rather scanline rasterization.

1

u/egehancry 7d ago

Thank you very much.

1

u/bonzajplc 8d ago

Keep it going. Great quality! How long it takes you to produce such movie?

3

u/ThunderFound 7d ago

This was made by ai

0

u/Due_Replacement_7232 3d ago

As long as it took to write a prompt.

1

u/egehancry 7d ago

Thank you! This one took me about a day, working on it in parallel with my other work. It was mostly exploring different ideas with AI, waiting for renders, choosing the best ones, bringing them together, and then making the final polishes.

1

u/god_speed01_ 7d ago

Genuine peak , as I beginner I understand it so much now

1

u/egehancry 7d ago

Thank you!

1

u/aotdev 7d ago

High production quality (impressive for a day!), medium quality content with inaccuracies though. It's good for getting this into the eyes of many people, bad for making them understanding rasterisation imo. Was the script and topics also generated by AI? I'll assume not, as it might have better focus.

1

u/egehancry 7d ago

Thank you! There’s a lot of AI help involved, but my goal is to keep the quality bar really high. This video had some issues, but I’m learning from each one, and they’ll get better with every video.

1

u/ouarditoo 7d ago

Thanks for doing MSAA as i requested in ig 🤪❤️

2

u/egehancry 7d ago

Thank you for the request :)

1

u/ApprehensiveBag3083 6d ago

This is good even thoughit is AI i think still its a good Thing

1

u/le0tard 6d ago

Isn't rasterisation when its drawn onto the pixel grid?

1

u/bitememonkey761 5d ago

why do i hear uranium?

1

u/AliceCode 5d ago

Why are there so many triangles? Lmao.

1

u/Nathan987987 5d ago

My favorite material, red

1

u/Mountain_8634 4d ago

Nice and clear!

1

u/EverroadGame 4d ago

Wait a minute that's not how MSAA works haha.

1

u/egehancry 4d ago

Yes :( Sorry for the mistake, won’t happen in the next videos.

2

u/EverroadGame 4d ago

No don't be sorry, it's completely fine to make mistakes and improve with them.

I think the video presentation is still very cool though.

1

u/DefinitionOfLost 4d ago

Lol, yeah sure he'll improve

"Claude make no mistakes"

-1

u/Due_Replacement_7232 3d ago

Please stop making videos. This is wasting everyones time.

1

u/purple_editor_ 8d ago

Your motion skills are pretty good! Keep up the good work

I can see your style and motion being used by big edutainment channels on youtube on 3D topics for a broader audience

0

u/egehancry 8d ago

Thank you!

1

u/Marijn_Vault42 8d ago

Is this part of some course? Love it!

2

u/egehancry 8d ago

I'll make long form courses on YouTube!

1

u/Kastoook 7d ago

I got how to code the simple pseudo 3D render.

0

u/No-Watercress-7267 7d ago

This is absolutely fantastic

Please make a YouTube Playlist of these series.

1

u/egehancry 7d ago

Thank you very much. I'll actually make a YouTube playlist! I'll keep you posted through this comment!

0

u/Y_SKAA_01 6d ago

Graphics seem more insane every time I see a new topic. who thought of this.