Bevy Rendering Demystified

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 ก.ค. 2024
  • This video covers a section of the lower level rendering features in Bevy. Specifically we look at how the engine renders UI nodes and cover the 5 main steps of rendering a quad in bevy using the lower level abstractions.
    Code Covered: github.com/bevyengine/bevy/tr...
    App World/Render World graphic used in thumbnail/overview from the Bevy Cheatbook.
    Discord Invite: / discord
    Patreon: / logicprojects
    Resources:
    Bevy: github.com/bevyengine/bevy/tr...
    Learn Wgpu: sotrh.github.io/learn-wgpu/
    0:00 Intro
    1:02 Wgpu Overview
    2:25 Bevy Overview
    4:42 Extract
    8:07 Prepare
    10:50 Other Resources
    14:01 Queue
    15:50 Midway Recap
    16:20 Render Graph
    19:50 Draw Functions
    23:16 Recap
    24:44 Outro
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 35

  • @timpi4ever
    @timpi4ever ปีที่แล้ว +21

    Thank you so much for making this video.

    • @logicprojects
      @logicprojects  ปีที่แล้ว +2

      I really appreciate that! This was a lot of work to get out

  • @hayden867
    @hayden867 หลายเดือนก่อน

    This is a fantastic overview of the render pipeline, and how all the key components work together to form a whole.
    Would really love to see a deeper dive into the optimisations - like how batching works - to get an even more complete understanding of whats happening under the hood!

  • @sussybawka9999
    @sussybawka9999 ปีที่แล้ว +13

    9:20 I might be mistaken, but I believe PR #8822 (merged 2 weeks ago) added support for UI texture atlases.
    Edit: though of course this video was made before that happened

    • @logicprojects
      @logicprojects  ปีที่แล้ว +19

      I'm actually the author of that PR! I wrote it the day I published this video

    • @sussybawka9999
      @sussybawka9999 ปีที่แล้ว +5

      Good PR and good video! Well done.

  • @TheOpus898
    @TheOpus898 11 หลายเดือนก่อน

    Man, thank you a lot for video, finally got somewhat structured understanding of rendering in bevy ( especially render & draw commands). Keep it up!

  • @jeffg4686
    @jeffg4686 9 หลายเดือนก่อน

    This one was a doozie. Thanks for putting together. I'm going to need to watch a few more times, but basically understand the big picture now of the rendering internals.

  • @andr6192
    @andr6192 11 หลายเดือนก่อน +2

    Incredible deep dive! I was really getting tripped up by the phase items each having a pipeline ID. I didn't understand if they represented a single entity that had to be rendered, a camera or an entire pipeline. Now I see that they represent entities for rendering, and that bevy allows each entity within the same node to have a different specialization of the pipeline, powered by caching.
    Thanks so much for the video! :D

  • @therealmorious
    @therealmorious ปีที่แล้ว +7

    Best bevy content I know on youtube!

  • @thomasreichert2804
    @thomasreichert2804 ปีที่แล้ว

    This video is a blessing, thanks so much!
    Will save me a lot of work trying to figure it out myself. I'll be going over this a second time, and your Game Jam video too, when I try some shader effects soon.

    • @logicprojects
      @logicprojects  ปีที่แล้ว

      Thank you! This approach is actually the more professional way of doing the effects I did in that video. My game jam solution was a bit hacky

  • @batoust4050
    @batoust4050 ปีที่แล้ว

    awesome! thanks a lot for all the hard work!

  • @jaysistar2711
    @jaysistar2711 ปีที่แล้ว +1

    More of this kind of video, please!

    • @logicprojects
      @logicprojects  ปีที่แล้ว

      I'm always working on them! Thank you!

  • @jacques-dev
    @jacques-dev ปีที่แล้ว +3

    Great video! I would love to see the Bevy team answer the questions you had as they also make my brain itch. Have you asked in Discord?

    • @logicprojects
      @logicprojects  ปีที่แล้ว +3

      I've actually been working on PRs to change the things I've pointed out (specifically texture atlas sprites in ui). I've been active in the UI dev channel

  • @antling_
    @antling_ 3 หลายเดือนก่อน

    Amazing!

  • @pedrodesanti6266
    @pedrodesanti6266 ปีที่แล้ว +1

    thanks

  • @onetwothree2617
    @onetwothree2617 11 หลายเดือนก่อน +2

    Nice work! Can you do a RenderDoc / Bevy tutorial?

    • @logicprojects
      @logicprojects  11 หลายเดือนก่อน +1

      I'm still learning it myself but one day I might show it off more!

  • @SonicTheCat
    @SonicTheCat 7 หลายเดือนก่อน +1

    Well this seems rather complicated!

  • @stevenlandow7372
    @stevenlandow7372 ปีที่แล้ว

    These videos are awesome, but can you zoom into the most- relevant parts of the code?
    It's pretty small font.

    • @logicprojects
      @logicprojects  ปีที่แล้ว

      Yeah I usually go with the largest font I can get away with but for this one the systems were big and I preferred to keep as much of the code on screen as possible

    • @stevenlandow7372
      @stevenlandow7372 ปีที่แล้ว

      @@logicprojects personally, I think the method name and maybe the API doc letting us see the paeam names would have been more valuable.
      When you begin to talk about what the different parameter structs do, then show them.
      Again, great video. I just had to watch on my PC instead of phone:)

    • @logicprojects
      @logicprojects  ปีที่แล้ว

      I did that for older videos and it's always a work in progress to find the right balance. You're right though

  • @principleshipcoleoid8095
    @principleshipcoleoid8095 9 หลายเดือนก่อน

    Where would one start if they were trying to fix some MacOS Ventura macs (intel and sometimes M1) Camera2d (and probably Camera3d) having a memory leaks (for native builds)? Assuming they own a machine to test if the problem got fixed. Weirdly Monterey is unnafected.

    • @logicprojects
      @logicprojects  9 หลายเดือนก่อน

      I'd go to the dev channels on bevys discord and ask there (assuming you mean you want to be the one to fix it). My guess is you'll end up in wgpu so you might need to see if it happens on a wgpu example

    • @principleshipcoleoid8095
      @principleshipcoleoid8095 9 หลายเดือนก่อน

      @@logicprojects I'm not sure if there are even other devs that can reproduce this problem so I might spend couple of days or a weel figuring it out. Wgpu example is an interesting lead, thanks!

  • @adsick_ua
    @adsick_ua ปีที่แล้ว +1

    something is very bad about your video codec/bitrate.

    • @adsick_ua
      @adsick_ua ปีที่แล้ว

      dude, I really hope that you have saved the project files of your videos so you can rerender them, because the quality is immensely bad.

    • @logicprojects
      @logicprojects  ปีที่แล้ว

      The video file I gave TH-cam is perfect and follows their guidelines. I've looked into it and it seems they apply more aggressive compression on smaller channels or something

    • @adsick_ua
      @adsick_ua ปีที่แล้ว

      @@logicprojects hmm, I didn't know of that. seems very unfortunate(

    • @logicprojects
      @logicprojects  ปีที่แล้ว +2

      It seems uploading in 4k helps force the better TH-cam codec. I'm moving in a month and will have the internet to support that then. Sorry for the quality quirks until then. It bothers me too