Тёмный
No video :(

Forward and Deferred Rendering - Cambridge Computer Science Talks 

Ben Andrew
Подписаться 272
Просмотров 23 тыс.
50% 1

Опубликовано:

 

4 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 49   
@Lavimoe
@Lavimoe Год назад
"If you cannot explain something in simple terms, you don't understand it." This video really shows how deep an understanding you have on the shader topic. Thanks so much!
@donovan6320
@donovan6320 2 года назад
Should also mention all lighting in doom eternal is dynamic. The "pre-processing" that is being done is called clustered forward rendering, in which a culling stage reduces the lights sampled in a specific part of the scene.
@benmandrew
@benmandrew 2 года назад
Yep, unfortunately had to cut out clustered rendering to keep the talk focused and under half an hour. It's a very cool technique explained in the Doom Eternal graphics study by Adrian Courrèges (one of my sources at the end).
@donovan6320
@donovan6320 2 года назад
@@benmandrew I figured, thought I should clarify for those that are curious about the technique and "prepossessing" (technically correct but I would have just called it a culling pass, preprocessing implies a static, pre-runtime/serialised nature to which the light culling pass is not), definitely beyond my paygrade, but is really cool.
@TechDiveAVCLUB
@TechDiveAVCLUB Год назад
Can't believe such a perfect digestion of high level information into actionable mental models exist. Thank you!
@rtyzxc
@rtyzxc 6 месяцев назад
Can't wait for the return of MSAA and sharp graphics again!
@wojciechcwynar4781
@wojciechcwynar4781 Месяц назад
ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-EIWHvPP0U64.html
@Argoon1981
@Argoon1981 25 дней назад
Exactly!
@jgriep
@jgriep 2 года назад
Hands down the best, most straightforward explanation of forward vs. reverse rendering I have seen!
@thhm
@thhm 7 месяцев назад
Definitely still a heady topic for me, but thank you for explaining it. Specially for the emerging trends and outlook in the end, definitely interesting.
@anoomage
@anoomage 2 месяца назад
Thank you so much for sharing your knowledge sir, I learned a lot from your presentation!
@slothsarecool
@slothsarecool 9 месяцев назад
Shrek?? no way 😅 that’s great. Awesome talk, thanks
@cafe_underground
@cafe_underground 8 месяцев назад
Amazing explanation, I could finally grasp the pros and cons of each technique
@penneywang6552
@penneywang6552 Год назад
best video to explain them, from the history , hardware to gpu pipeline work , thank you. looking forward more tutorial with this way .
@haos4574
@haos4574 Год назад
This is gold content, watched several videos on the topic, this is the one that actually makes me understand.
@santitabnavascues8673
@santitabnavascues8673 Год назад
Is curious how everybody who illustrates a depth buffer always use the reverse depth approach, where white is closer and black is farther, more curious is that the reverse depth buffer distributes the depth precision much better than the original, 'forward' depth buffer, where closer objects have a depth close to 0 and far objects have a depth closer to 1 😊
@benmandrew
@benmandrew Год назад
Correct, for those interested this is due to the non-linear perspective transformation (1/z) either combining with or cancelling out the somewhat-logarithmic distribution of points in IEEE floating point numbers. A really good explanation is on the Nvidia developer website -- developer.nvidia.com/content/depth-precision-visualized.
@glass1098
@glass1098 Год назад
Thanks for the video, i had a lot of questions on the topic and this was an absolute clear explanation of the differences
@onevoltten7352
@onevoltten7352 2 года назад
Thank you! Been going back and forth between defferred and forward as it's a lot more effort using forward shading - requiring much more planning and optimising. I plan to force myself to use Forward rendering during development and commit to a much more optimised game rather than go for dynamic lighting.
@donovan6320
@donovan6320 2 года назад
I mean you can use forward and have a lot of dynamic lighting... Doom Eternal uses all dynamic forward lighting.
@vitordelima
@vitordelima 10 месяцев назад
@@donovan6320A shader can loop over many light sources during the same rendering step, but many screen space effects are compromised if you don't use deferred.
@donovan6320
@donovan6320 10 месяцев назад
@@vitordelima You arent wrong?
@vitordelima
@vitordelima 10 месяцев назад
@@donovan6320Deferred is only important if you need some extra data from each separate rendering step that isn't easily generated by forward only, but lighting can be calculated in a single step for forward nowadays.
@vitordelima
@vitordelima 10 месяцев назад
@@donovan6320I found out more about it, modern hardware still supports a lot of light sources in forward mode simply by iterating over them but there are methods to improve this via something similar to culling. If you use a method for global illumination that is good enough, deferred or forward don't matter that much because the lighting is calculated in another rendering step.
@leeoiou7295
@leeoiou7295 Год назад
Excellent talk. I did a little research and found out that you are just a young lad. Wish you all the best and thanks for such a great talk.
@StealthMacaque
@StealthMacaque 9 месяцев назад
Unbelievably good explanation. I cannot thank you enough!
@egoinstart8756
@egoinstart8756 Год назад
Excellent. Best video about this topic I've found. Thank you.
@Kalandrill
@Kalandrill Год назад
Thanks a lot for sharing, didn't expect a dive into the current state of things in games. It was a very pleasant surprise :)
@gideonunger7284
@gideonunger7284 Год назад
why is forward always portrayed as lights x meshes. i have never written a forward renderer like that. just put the lights in a buffer and then send the lights affecting a mesh as indices. gives you 1 uniform branch for the loop but that should be fine and way faster than multiple draw calls lol
@rubenhovhannisyan317
@rubenhovhannisyan317 Год назад
Thanks a lot. Saved a lot of time and effort.
@schmildo
@schmildo 10 месяцев назад
Thanks mate
@SergioWolf843
@SergioWolf843 10 месяцев назад
Deferred rendering has the advantage of calculating lights per block and not per pixel, decreasing the GPU overload, so it doesn’t matter how many lights cross your blocks because it won’t affect performance. If I’m not mistaken, Apple has TBDR Patents and has been using it on the iPhone since 2017.
@dan_perry
@dan_perry Год назад
Hmm, I thought the PowerVR/Dreamcast was the first tile based deffered renderer?
@carlosd562
@carlosd562 Год назад
Very good video!
@stephenkamenar
@stephenkamenar 2 года назад
thank you shrek
@pwhv
@pwhv Год назад
very well explained, loved it
@SSaka77
@SSaka77 2 года назад
very useful ! thanks a lot
@MrTomyCJ
@MrTomyCJ Месяц назад
7:25 In webgpu, the vertex and fragment shader code is provided to the pipeline. This means that a pipeline can only execute 1 fragment shader. So to render the scene we wouldn't just have the nested loops: lights>objects, but rather materials>lights>objectsWithThisMaterial, and for each material set a different pipeline. Am I missing something here? is that pipeline-per-material, the intended way to draw the objects for this case? 19:30 In WGSL it doesn't seem to be possible to use some samplers inside branching code. Is there a way around that?
@gordazo0
@gordazo0 8 месяцев назад
excellent
@GeorgeTsiros
@GeorgeTsiros Месяц назад
why do you repeat "moving the g-buffer" ? It doesn't need to move. It's only ever allocated once. It is written once for each frame. Once it has been written, it is read-only. I do not understand. Do we transfer its contents between RAM and VRAM frequently or something?
@jiayuezhu5848
@jiayuezhu5848 2 года назад
This is such a helpful video!
@charactername263
@charactername263 4 месяца назад
But surely you just put your lights into a GPU buffer and then you can sample the buffer whilst drawing meshes. That makes it just M draw calls for M meshes, with sampling into the buffer for N lights which is really not any different from deferred, other than that deferred avoids redrawing fragments - but even a depth prepass on forward solves that issue.
@zugolf4980
@zugolf4980 Год назад
And this is why you're at Cambridge University
@jeffg4686
@jeffg4686 Год назад
have you checked out the "clustered forward renderer" in bevy? Looks pretty nice. Don't know if any downsides. Says unlimited lights
@chenbruce3784
@chenbruce3784 Год назад
谢谢你
@benmandrew
@benmandrew Год назад
别客气
Далее
Почему-то хочется плакать
00:17
Просмотров 483 тыс.
Throwing Swords From My Blue Cybertruck
00:32
Просмотров 10 млн
How Real Time Computer Graphics and Rasterization work
10:51
How Big Budget AAA Games Render Clouds
10:45
Просмотров 271 тыс.
Why you should never use deferred shading
30:14
Просмотров 13 тыс.
OpenGL - deferred rendering
9:42
Просмотров 31 тыс.
Ray Tracing: How NVIDIA Solved the Impossible!
16:11
Просмотров 794 тыс.
I ACCIDENTALLY Created Hazel's Greatest Feature
18:21
Deferred Lights - Pixel Renderer Devlog #1
8:41
Просмотров 391 тыс.
Почему-то хочется плакать
00:17
Просмотров 483 тыс.