What is WebGPU?

Sdílet
Vložit
  • čas přidán 14. 05. 2024
  • In this video, we will go over everything you need to know about WebGPU. We’ll start with a history lesson on the state of 3D computer graphics. Then, we will learn what WebGPU is and how it’s different from WebGL. After that, we will look at how big tech companies like Adobe, AutoDesk, Apple, Google, and OpenAI are investing in WebGPU. Finally, we go over how you can start learning WebGPU today.
    🐦 Twitter - / suboptimaleng
    💻 GitHub - github.com/SuboptimalEng
    🌎 Website - suboptimaleng.com
    == [ Resources ] ==
    Tutorials:
    WebGPU Fundamentals - webgpufundamentals.org/
    Learn WebGPU with JavaScript - codelabs.developers.google.co...
    General:
    History of WebGPU - cohost.org/mcc/post/1406157-i...
    From WebGL to WebGPU - developer.chrome.com/blog/fro...
    Brandon Jones’ WebGPU Talk - • Introduction to WebGPU...
    WebGPU Compute Shaders Tutorial - developer.chrome.com/docs/cap...
    Building a Professional Design Tool on the Web - www.figma.com/blog/building-a...
    Building WebGPU with Rust - • Building WebGPU with Rust
    WebGL Water Demo - madebyevan.com/webgl-water/
    Figma WebGL Blog Post - www.figma.com/blog/building-a...
    Shadertoy - www.shadertoy.com/
    Shadertoy Award - practitioner.siggraph.org/pos...
    BioDigital - www.biodigital.com/
    OnShape - www.onshape.com/en/
    == [ Timestamps ] ==
    00:00 Intro to WebGPU
    00:58 History of 3D Graphics
    03:21 What is WebGPU?
    04:34 WebGPU vs WebGL
    05:29 WebGPU in a Nutshell
    06:09 2D Design Tools
    07:35 Computer-Aided Design
    08:59 Health Technology
    09:39 WebGPU at Google
    10:06 AI + ML with WebGPU
    11:15 Computer Graphics Research
    12:20 How to Learn WebGPU?
    12:52 Future of WebGPU
    == [ Tags ] ==
    #suboptimal #webgl #webgpu
  • Věda a technologie

Komentáře • 120

  • @SuboptimalEng
    @SuboptimalEng  Před měsícem +3

    Hello friends! It takes me a while to upload videos on CZcams, but I'm pretty active on Twitter. I post all things related to computer graphics. Please look forward to my tweets: twitter.com/SuboptimalEng

  • @afjer
    @afjer Před 3 měsíci +138

    Thank God Adobe got stopped. I'm getting tired of them consuming useful software and fencing it up behind their paywall.

    • @RayfuzuLearning
      @RayfuzuLearning Před 3 měsíci +4

      I second this !

    • @maq3009
      @maq3009 Před 2 měsíci +1

      If there's 2 companies that need to stop their greedy monopolies it's Apple and Adobe. I hate having to subscribe to a product or having to pay $3,000 for a product license.

  • @sudo-apt-upgrade-brain
    @sudo-apt-upgrade-brain Před 3 měsíci +44

    Love how you went from the big picture to the details of webgpu.

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci +10

      Thanks! It took months to research WebGPU and write the script for this video 😅

  • @justdoityourself7134
    @justdoityourself7134 Před 3 měsíci +19

    DirectX was a thing long before XBox. It is the main graphics library for windows and was the heart of "PC" gaming.

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci +3

      Yea that makes sense. I read the story of John Carmack roasting it and saying OpenGL was better. Suppose the tides have changed now 😅

    • @leonss2356
      @leonss2356 Před 3 měsíci +4

      @@SuboptimalEng Direct3D is the name of the Graphics API, DirectX is a collection of Windows APIs for multimedia (which includes D3D)

    • @affegpus4195
      @affegpus4195 Před 3 měsíci

      ​@@SuboptimalEngdirectx story is a bit confusing. Back in the mid/late 90s despite being the best selling computer platform PC/windows was lagging behind hard in terms of multimedia compared to the competition
      The issue was that every soundboard, video card, etc did things their own way. And barely anyone ever used the hardware because of that and did everything in software.
      So Microsoft came with direct x, the idea was to give a unified interface to features, and if they were not available on the hardware side, they would be emulated in software, so any program made using it would always work, so you had directdraw, directsound, directinput, etc
      But then they also saw this company doing 3d hardware and a 3d API to go with it, they bought the company and used their API as the basis for direct3d... Which was completely different from the other direct x libraries and had no emulation.
      Funny enough, few years in the future direct3d became the only survivor of directx, as everything else directx either died out or become more standardized and build in on windows.
      And even funnier, the initial d3d supposely was super low level and based on buffers and display lists... Kinda like dx12/vulkan, But mapped horribly to the wildly different 3d hardware at the time and it is a lot harder to use than the very abstract opengl

  • @alvin3171997
    @alvin3171997 Před 3 měsíci +7

    Great summary, love it!

  • @gaius_enceladus
    @gaius_enceladus Před 3 měsíci +17

    Great to learn that WebGPU can be used on desktop apps too, as well as web apps!
    Even better that it's being developed as a standard by the W3C!
    That fact alone has me sold on it!

  • @FumezCreates
    @FumezCreates Před 3 měsíci +6

    This is an amazing video. Thank you for taking the time to make this.

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci +4

      Thanks! It took months to gather all that info and turn it into a video. I actually started writing the script last year 🤓

    • @FumezCreates
      @FumezCreates Před 3 měsíci

      @@SuboptimalEng wow...impressive work. CZcams videos are no joke. What's was the most tedious part of the process. And what was the most fun part.
      1. Research
      2. Scripting
      3. Recording
      4. Video & Audio Editing

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci +3

      Most tedious part was the scripting. A tough balance between what to keep, what to remove, and what to simplify.
      I made this video because I wish something like this existed when I started learning about WebGPU. Helping others understand its importance is a great feeling 🥹

  • @bytetrance
    @bytetrance Před měsícem +2

    great explanation lil broski, thanks

  • @lozer93gurl
    @lozer93gurl Před měsícem

    This video is incredible! Thank you for the level of research that went into this. Instant sub!!

    • @SuboptimalEng
      @SuboptimalEng  Před měsícem

      Thanks, I'm glad that this video helps convey the importance of WebGPU for graphics programming!

  • @Browsinghard
    @Browsinghard Před 3 měsíci

    Great overview, thank you!

  • @cunty
    @cunty Před 2 měsíci

    super interested in the native applications. loved the video, i love hearing passionate people share their views on an extensively researched topic

    • @SuboptimalEng
      @SuboptimalEng  Před 2 měsíci +2

      Yep! I’m definitely interested in seeing what kind of native apps people make with WebGPU.

  • @jimmy21584
    @jimmy21584 Před 3 měsíci +25

    Old-school game programmer here. I looked at Vulkan for doing 3D graphics, but decided it was for making engines, not applications. This looks like a nice middle ground of performance vs boilerplate.

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci +10

      This is exactly how I felt when learning WebGPU. Get 80% performance with 20% of the code!
      That’s more than enough for most applications and simulations I want to make. And the added bonus of being able to distribute each project on a web app!

  • @oryxchannel
    @oryxchannel Před 3 měsíci

    So freaking thorough and engaging. Amazing work on WebGPU. Have a couple of entrepreneurial ideas this night just by watching this. Thank you.

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci +1

      Thanks! It’s great to see more folks get excited about WebGPU.

  • @BhargavaMan
    @BhargavaMan Před 3 měsíci

    This was great!

  • @albertkim1809
    @albertkim1809 Před 2 měsíci

    I'd love a video on the state of javascript-browser-based game engines, and how they currently compare with state-of-the-art game engines. Just found this channel, amazing content man!

  • @nyantaro1
    @nyantaro1 Před 3 měsíci +1

    Really good video!

  • @JohnDoe-sy6tt
    @JohnDoe-sy6tt Před 3 měsíci +1

    Good video! Thanks!

  • @dmug
    @dmug Před 3 měsíci +4

    I remember seeing WebGPU news but skipping over it. Thanks for this.
    It’ll be interesting if web GPU front ends to coreML. Also, if React Native, Native Script, Electron etc start folding this in.
    In any case, browsers with web assembly and web GPU are getting to be quite peformant.

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci +1

      Interesting! I do not know much about Apple's native ecosystem, but I do know that already Apple released WebGPU for Safari. And Google released it for Chrome and Android 12.
      Hopefully, Apple will follow suit and release it for Safari on iOS. That's when the fun really begins!

  • @TusharDeb
    @TusharDeb Před 2 měsíci

    Very informative!

  • @varundurge
    @varundurge Před 3 měsíci +1

    Best video on CZcams explaining this topic

  • @timog7358
    @timog7358 Před 3 měsíci +1

    really great video

  • @yds6268
    @yds6268 Před 3 měsíci +8

    I was introduced to WebGPU exactly due to WGPU being the go-to graphics API for Rust applications. So for me WGPU is more important. I prefer writing desktop applications, but working the same on Windows/Linux.

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci +1

      That’s awesome! I didn’t realize all the hype about WebGPU until it came to the web last year. Did you use WGPU to make any projects yet?

    • @yds6268
      @yds6268 Před 3 měsíci

      ​@SuboptimalEng, not yet, I'm still using OpenGL (or rather Miniquad crate, which is based on OpenGL). But I know that every big Rust project uses WGPU these days. Good example is Veloren - a free and open source Voxel RPG.

  • @zaqk2
    @zaqk2 Před měsícem

    Super concise explanation... Browsed many other vdos from your channel.... So lovely... Thanks
    Subscribed !

  • @igorgiuseppe1862
    @igorgiuseppe1862 Před 3 měsíci +2

    13:50 actually, vulkan is multiplatform, it support linux, android and windows. (and probably consoles, but they are NDA proprietary platforms so i cant say for sure, on xbox you probably can use something akin to dxvk)
    the issue is apple, but you can solve it with moltenVK (at least on macOS, im not sure if its accepted on apple store for iOS)

  • @ryuuguu01
    @ryuuguu01 Před 3 měsíci

    Nice explanation. I won't be using it directly myself but indirectly as Unity switches from webGL to WebGPU later this year.

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci

      Thanks! I believe the folks at Unity are already making progress on getting games running on WebGPU.

  • @martiananomaly
    @martiananomaly Před 3 měsíci +1

    Interesting...

  • @naphipps28219
    @naphipps28219 Před 3 měsíci +1

    I plan on keeping vulkan as my game engine’s main rendering implementation, and maybe pickup webGPU/OpenGL/etc later so the engine can reach more platforms. WebGPU is nice but a little too new for me for now.

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci +3

      That’s a good point. No need to jump ship to WebGPU immediately. It is a little early right now, but I do hope it ends up becoming what it’s promising to be.

  • @_ash64
    @_ash64 Před 3 měsíci +1

    Great video!

  • @insertoyouroemail
    @insertoyouroemail Před 3 měsíci +1

    wgpu provides a dll which you can use to easily bind in other languages. It's really nice API.

  • @Ayo22210
    @Ayo22210 Před 3 měsíci

    This is great info. Put some this info on Wikipedia, if you add media there back linking from that to your website is good for SEO.

  • @zoltar3172
    @zoltar3172 Před 3 měsíci

    Thank you, learned a lot!! Can you also do WebXR? I started to learn both, and to know if they could work together and add to each others strength. Logo's look similar, are they or will they eventually be the same? These two would be a dream team in XR future and userfriendly ness

    • @SuboptimalEng
      @SuboptimalEng  Před 2 měsíci

      WebGPU doesn’t support WebXR yet. I believe there is a proposal for it.

  • @Vvvv-oh6pe
    @Vvvv-oh6pe Před měsícem

    Does it even run on pc with only cpu

  • @MaxPower-11
    @MaxPower-11 Před 3 měsíci +2

    Thanks for the video.
    BTW, Dassault is pronounced 'daso'

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci +1

      I watched a video on how to pronounce it and still struggled to say it correctly 😂

  • @user-sx1kb9vs4i
    @user-sx1kb9vs4i Před 3 měsíci +1

    The attempt to consolidate fragmented graphics APIs is commendable, but I wonder if this ambitious project can succeed without conflicting interests. I still think it might be premature. By the way, despite my opinion, the video was excellent. I'll share it with my friends. Thank you.

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci +3

      Thank you! And I must admit that you raise a valid point. WebGPU may struggle to find the perfect consensus, but I'm hopeful since a lot the big tech companies are invested in it.
      For example, even Apple, the company that stopped supporting OpenGL and had a slow release cycle for WebGL, released WebGPU for Safari last month. This is much sooner than what the graphics community expected and it shows a sign of commitment from their end. Google already released WebGPU for Chrome and Android 12. These are good signs and make me stay hopeful!
      On a side note: I really appreciate your level-headed approach of disagreeing with me on the comments section. It can get heated down here. Thank you!

  • @timseguine2
    @timseguine2 Před 3 měsíci +1

    I am investigating webgpu. I bounced off of vulkan a few times now because I feel like its benefits don't fully justify its complexity from a developer perspective.

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci +1

      Great to hear that! We need people need to get on the WebGPU train. It’s got a good balance of performance and ease of use.

  • @jtkyber
    @jtkyber Před 3 měsíci

    Nice video! Do you think its reasonable for me to try to learn 3d graphics/games programming with WebGPU if I only have experience with full stack web development, making a fairly complex JS ray casting game engine, and making a basic HTML/TS 2D Game? I don't really have any knowledge of 3D graphics programming concepts

    • @SuboptimalEng
      @SuboptimalEng  Před 2 měsíci +1

      I'm really not sure. I'd always recommend Three.js for those interested in 3D graphics on the web😅

    • @jtkyber
      @jtkyber Před 2 měsíci

      @@SuboptimalEng I'll definitely learn Three.js eventually. I just really like the idea of building a game from scratch, which is why I decided to build a relatively complex raycasting engine with vanilla JS not long ago.
      An actual basic 3D game engine definitely requires more specialized knowledge, but it also seems a lot less messy compared to a raycasting engine.

  • @bananesalee7086
    @bananesalee7086 Před 3 měsíci

    does it work with every XR headset or just vision pro ? I'm totally a nooob with those things

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci

      WebGL supports WebXR. So websites using WebGL + WebXR should work on headsets. WebGPU doesn’t not support WebXR yet.

  • @ulrich-tonmoy
    @ulrich-tonmoy Před 3 měsíci +4

    I Guess it time for Tauri to shine like you can create an app with vanilla react or any other js lib and build for desktop and mobile i guess js game dev will get a little boost

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci

      That would be an interesting outcome for sure. Electron needs some competition 😅

  • @pepe6666
    @pepe6666 Před 3 měsíci

    awesome video. thank you for making a coherent picture of everything.
    as for new APIs, i hope it stays. my argument is that directX, openGL and metal should have been the glue between software & hardware, yet we didnt need 3 of them. vendors creating competing platforms is the core of so much of our problems in life.
    we get something that eventually wraps the existing multitudes of frameworks and then someone will make a competitor to the high level framework. android and ios should be able to run the same programs, given similar hardware.
    xbox and playstation should be able to play the same games. PCs and macs should be able to run the same programs. vendors could have put their efforts into making this the reality, but they simply dont want to. and that simply not wanting to steers these platform decisions & gives us a perpetual problem they simply dont want to fix.

    • @SuboptimalEng
      @SuboptimalEng  Před 2 měsíci

      Weird to have this type of vendor lock-in. Not like we pay them to use these APIs.

  • @BrianSheppard
    @BrianSheppard Před 3 měsíci +3

    Not the 1970s... the 1990s... that hit hard... why do you want to hurt us. lol.

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci +4

      I’m a 90s kid. It’s hurts me as much as it hurts you 🥲

  • @igorthelight
    @igorthelight Před 3 měsíci +2

    4:15 - But you do not need 2000 lines of code to draw two triangles, because most of those 1000 lines of code is just initialization and you will never write them again! ;-)

  • @recursion.
    @recursion. Před 3 měsíci

    I love your channel man even tho that " by no means you're not an expert on this topic" 😛😛

  • @4115steve
    @4115steve Před 3 měsíci +2

    I want to see a fusion 360 or blender using wGPU and rust

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci +2

      That would be interesting! Hopefully open source too.

  • @Dabid13
    @Dabid13 Před 3 měsíci +1

    I think at the end you forgot vulkan also works on Windows

  • @BarafuAlbino
    @BarafuAlbino Před 3 měsíci +3

    Vulkan was designed by AMD. Only when they understood that no one cares about an AMD-only API, they tossed it to Khronos and forgot about it themselves.

  • @theetheemattnewman
    @theetheemattnewman Před 3 měsíci +1

    Great content. Spend time on Q/A to assure all of the companies and/or words you are saying, are pronounced correctly. “Dassault” is pronounced like ‘Da-Soh’ not like the word assault with a “d” at the beginning. It is important to remember that when you are putting content online that nearly 20,000 people have consumed within the past five days, that for some viewers also responsible for helping them learn the vernacular. You are effectively giving a lesson here, so you need to make sure that it is as accurate possible.

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci +1

      Thank you!
      In my defense, I did watch a video about how to pronounce Dassault Systemes last year. I've spent months writing and rewriting this script and I just forgot about the pronunciation by the time I recorded.
      One a side note: I thought that WebGPU was a niche topic. I did not expect this video to get this many views. I'm actually really hyped that so many people are interested in learning more about WebGPU!

  • @DanyloSyrotynskyy
    @DanyloSyrotynskyy Před 3 měsíci +1

    WebGPU is great since it will allow gaming on Web! We will be able to publish demos of our games! On the other hand it will not dominate native gaming since it performance could never match native, so UE5 will still use Metal or Vulkan as backend

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci +1

      I'd love to see more games made directly on the web! I actually think of Figma as a video game that disguises itself as a design tool.

    • @DanyloSyrotynskyy
      @DanyloSyrotynskyy Před 3 měsíci

      @@SuboptimalEng we have web based care game 😉

  • @livinginharmony360
    @livinginharmony360 Před 3 měsíci

    Right now it's currently working draft, not standard yet.

  • @IAmPattycakes
    @IAmPattycakes Před 3 měsíci

    You seem to act like Vulkan doesn't run in multiple places. It's not for the browser, but it does run everywhere else. You don't actually need directx or metal.

  • @FumezCreates
    @FumezCreates Před 3 měsíci +1

    Do you have a Discord Community ?

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci +5

      I’m more of a lurker on other peoples discord channels. I do use Twitter quite a bit though!

    • @FumezCreates
      @FumezCreates Před 3 měsíci

      @@SuboptimalEng ohh...I'm not on Twitter.
      But I'm in a few Discord Servers. If you are active on Discord we could connect there. I'm planning to get into 3D Web Development and Graphics.
      I'm currently learning React and I plan to get into React Three Fiber and then ThreeJS and WebGPU later in the year.

  • @johola
    @johola Před 3 měsíci +3

    Vulcan and Metal are based on AMD's Mantle... Thats why they are so similar 😂

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci +2

      I thought Metal was much easier to work with than Vulkan tho?

  • @alexandrustefanmiron7723
    @alexandrustefanmiron7723 Před 3 měsíci +1

    I think web is getting to be a very ineficient vm made out of many parts that have nothing to do with the final state and bogged down by decades of compatibility targets!

  • @boohoo5419
    @boohoo5419 Před 3 měsíci

    this video is all over the place..

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci

      So is the graphics industry, until WebGPU 😉

  • @DrakeStardragon
    @DrakeStardragon Před 3 měsíci

    What is it? It's more of "you won't own anything, we'll let you use it under very controlled scenarios at very expensive prices because we buy all of it up so you can't."

  • @salsichalivre5401
    @salsichalivre5401 Před 3 měsíci +1

    Every time you said “And for that reason”, I expected you to say “I m out”

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci +1

      Heh. I’m all in on the future of web graphics!

    • @jerbear7952
      @jerbear7952 Před 3 měsíci

      Before you take his deal I want to talk to you about licensing

  • @PeakKissShot
    @PeakKissShot Před 3 měsíci

    On that last point nobody needs direct X. Now that the Xbox is dead hopefully dx will follow.

  • @engchoontan8483
    @engchoontan8483 Před 3 měsíci +1

    I stopped at 4:32.
    Assumptions, TV-box, octaCore snap dragon expensive nor, runs webGPU, browser-plugin on mobile-phome runs webGL and user draw triangle using scalable-vector presentation-software as WYSIWYG rapid-program-development and convert scalable-vector graphics to game-engine API...
    I am retired and leaving the expensive for the in-the rat-race people. Just got an update to tech interfaces... Thanks.

    • @engchoontan8483
      @engchoontan8483 Před 3 měsíci

      Oh, and CAD-CAM circa 1992 with sticker plotter printer cutter 3D painting oops printing model with 2 roll bar and a laser drum and laser heating edge and powder and inkjet and scanner-calibration and camera-calibration... heads... Or something old-tech lumped together to aim heat and stick powder before-after ion drum... Small room...

    • @cold_ultra
      @cold_ultra Před 3 měsíci +1

      What in the non euclidean fuck?

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci

      I thought I was the only one confused about this comment 😅

    • @engchoontan8483
      @engchoontan8483 Před 3 měsíci

      @@cold_ultra why you give a fuck.? Try - don't give a fuck.

    • @cold_ultra
      @cold_ultra Před 3 měsíci

      @engchoontan8483 u good bro? You are giving off a few sings of having a stroke

  • @someguy782
    @someguy782 Před 3 měsíci

    flormp

  • @Originalimoc
    @Originalimoc Před 2 měsíci

    Yet another nice name. 😒😒😒😒

  • @henrikfisch4046
    @henrikfisch4046 Před 3 měsíci +3

    An other generic "hot shit" supported by "high tech companies" which will abandon this for the next "hot shit" in roughly two seconds from now on. By the way the same "big tech companies" (who are big because of their money not because of their ideas) strongly go against an open Internet by introducing "hot shit" after "hot shit" again.

  • @greenhacker0com
    @greenhacker0com Před 3 měsíci

    I have been really excided when i first heard about it and thought it would be revolutionary for a lot of software but i feel like there havent been a lot of big projects(maybe exept figma) that use it.

    • @SuboptimalEng
      @SuboptimalEng  Před 3 měsíci +1

      Technically Figma started WebGL and still uses it heavily.
      I believe that WebGPU will enable engineers to port apps (that are more complex than 2D design tools like Figma) to the web.

  • @lasindunuwanga5292
    @lasindunuwanga5292 Před 3 měsíci +1

    This makes me falling in love with game making again 🥲