SlideShare a Scribd company logo
1 of 32
Benjamin Kenwright WebGPU API
Benjamin Kenwright
WebGPU API
Benjamin Kenwright
Lecture 1: Introduction
Benjamin Kenwright WebGPU API
Benjamin Kenwright
Brief Overview
• Course Structure
• Background History/Trends
• Basic Concepts/WebGPU API
• Whats/Whys/Where
• WebGL vs WebGPU
• Shader Languages
• GLSL and new WGSL (WebGPU Shader Language)
• Discussion & Questions
Benjamin Kenwright WebGPU API
Benjamin Kenwright
Who’s this Course for?
• Hobbyists, Academics, Beginners, Programmers, (Curious)
Any requirements?
• Basic programming knowledge (Loops/Variables)
• Basic web-based concepts (e.g., HTML/CSS/JS)
• Advantage but not required if you have some basic
‘graphics’ knowledge (e.g., color transforms, shaders, …)
Benjamin Kenwright WebGPU API
Benjamin Kenwright
What this course is ‘NOT’..
• Writing a Framework
• Learning a middleware (e.g.. ‘ThreeJS’)
• Writing a ‘full’ game (or complete complex application)
• Teaching computer graphics
This course is about ‘getting started’ – learning the raw API and using it
directly
• WebGPU API (Syntax & Blocks)
• Minimum working examples (MWE)
• Springboards to bigger projects
Benjamin Kenwright WebGPU API
Benjamin Kenwright
Notes
• Warning…
• Supported Browsers (install)
• Involve coding! (Not ‘theoretical’)
• …
• Simple (MWE) Examples
• Clearing screen, flashing, …
• Buffers, geometry…
• Extending examples (step by step)
• Graphics then Compute
• ..
Activities after each Example
Question Slides (Think)
Stop Points
(Try and Test Yourself)
Benjamin Kenwright WebGPU API
Benjamin Kenwright
Benjamin Kenwright WebGPU API
Benjamin Kenwright
What is the
WebGPU API?
Benjamin Kenwright WebGPU API
Benjamin Kenwright
What is the WebGPU API?
WebGPU API is a new Cross-Platform
2/3D Compute/Graphics API
(for the web)
High-level graphics/compute API that taps
“openness” of the Native GPU API
(Vulkan/DX/Metal)
Benjamin Kenwright WebGPU API
Benjamin Kenwright
Why a new GPU API?
Do we need the WebGPU API?
Why not create just create WebGL 3?
Benjamin Kenwright WebGPU API
Benjamin Kenwright
Technologies have changed
(Plan for Future)
New ways of thinking and
working
Benjamin Kenwright WebGPU API
Benjamin Kenwright
Problems with Backward Compatibility
Benjamin Kenwright WebGPU API
Benjamin Kenwright
Time for a tidy up!
New API (Fresh Start)
Benjamin Kenwright WebGPU API
Benjamin Kenwright
Change how we approach the problem…
Tools, resources, technologies, …
Benjamin Kenwright WebGPU API
Benjamin Kenwright
(Multi GPUs)
GFLOPS
TFLOPS
Trends
GPU ‘Performance’
Time
FLOPS
Benjamin Kenwright WebGPU API
Benjamin Kenwright
GPU (Not just for ‘Graphics’)
AI
Physics (Simulations)
Security/Crypt
Analytics
Benjamin Kenwright WebGPU API
Benjamin Kenwright
Is WebGL dead?
Does this mean WebGL is dead?
Won’t be supported anymore? RIP WebGL?
Benjamin Kenwright WebGPU API
Benjamin Kenwright
NO
WebGL is part of the W3c standards
Be around for a long time
New Tool
Benjamin Kenwright WebGPU API
Benjamin Kenwright
All APIs continue to evolve and be maintained to meet industry standards.
Provides a rich mix of open technologies for future innovation
Workhorse cross-platform API for professional 3D apps and gaming
1990s
Ubiquitous API for mobile gaming and general purpose graphics
2000s
Heterogeneous parallel computation
2008s
High-efficiency GPU graphics and compute API
2015
Graphics and compute API that exposes the
capabilities of GPU hardware for the Web
2022
Simplified Overview of the Open Graphics and Compute Standards
Web Graphics API (1.0)
2011
2013/17 WebGL 2.0
Benjamin Kenwright WebGPU API
Benjamin Kenwright
Dangers and Challenges
• New API
• Not all fun and games
• Support/consistency
• Number of core principles
• Security Priority, Stability, Consistency
• New = Untested
Benjamin Kenwright WebGPU API
Benjamin Kenwright
API is ‘NEW’ (Final Changes)
• Final phases development tests/checks before release
• Check official specification (final updates)
• WebGPU API: https://www.w3.org/TR/webgpu/
• WGSL: https://www.w3.org/TR/WGSL/
Open standard
Benjamin Kenwright WebGPU API
Benjamin Kenwright
WebGPU multi-worker/tasks
1. Asynchronous texture & buffer uploads
2. Asynchronous shader compilation
3. Asynchronous pipeline state creation
4. Parallel rendering/encoding
5. Multiple threads/pool own command buffer
Textures (bindless)
GPU more fine-grained Visibility
No need to pass data back and forth between CPU and GPU
Important WebGPU Features
Opens the door…
Benjamin Kenwright WebGPU API
Benjamin Kenwright
Do you have the WebGPU API?
Enabling API (Chrome Canary/Firefox Nightly/Edge Dev)
WebGPU is available (for Chrome Canary/Firefox Nightly/MS Edge
Dev) behind an experimental flag.
You can enable on:
Chrome -> chrome://flags
Firefox -> about:config
Edge -> edge://flags
Benjamin Kenwright WebGPU API
Benjamin Kenwright
Benjamin Kenwright WebGPU API
Benjamin Kenwright
Stats: https://caniuse.com/webgpu
(Red – Disabled by Default)
Benjamin Kenwright WebGPU API
Benjamin Kenwright
Small check – see if your browser has the WebGPU API
Note, as you’ll see later, just because you ‘have’ the API available, doesn’t necessarily mean you can use it (also
needs to have a driver/device)
Small JS Program
1
2
https://webgpulab.xbdev.net/index.php?page=editor&id=test&
Benjamin Kenwright WebGPU API
Benjamin Kenwright
1
navigator object contains information about the browser
(e.g., apis, such as, WebXR and WebGPU API)
You can always ‘list’ all the available entries in the navigator like this:
for (let n in navigator){ console.log( n ); }
2 navigator.gpu is the ‘webgpu’ api – if this is not ‘undefined’ you have the api
Benjamin Kenwright WebGPU API
Benjamin Kenwright
Question
Who manages the WebGPU API?
(Organisation)
Benjamin Kenwright WebGPU API
Benjamin Kenwright
Answer
Who manages the WebGPU API?
WebGPU is managed by Khronos
Group (working group). The
group includes Apple, Google,
Mozilla and Opera
Benjamin Kenwright WebGPU API
Benjamin Kenwright
What to find out more?
(Resources/Links)
Official website (official standard w3c
specification/documentation)
• WebGPU API
• WGSL
• Loads Examples Online/Websites
Benjamin Kenwright WebGPU API
Benjamin Kenwright
Introduction to Ray-Tracing using WebGPU API
in 20 Minutes (Coffee Book Series)
ISBN-13 : 979-8842178605
Kenwright
WebGPU API: An Introduction
ISBN-13 : 979-8836435554
Kenwright
Benjamin Kenwright WebGPU API
Benjamin Kenwright
Stay Tuned Lecture 2
Benjamin Kenwright WebGPU API
Benjamin Kenwright
• New era
• Final stages (lots of opportunities/potential)
• Easy to get started (no excuse)
• Challenges/updates/fixes
• Must not forget about ‘security’, ‘stability’, …
• WebGPU driving future technologies to think outside the box
• WebGPU API is ‘NEW’ (untested)
• Example, try WebGPULab.com range examples
• …
Lots of examples and resources available….
Learn the basics first (makes it easy when debugging/fixing problems in more complex projects)

More Related Content

What's hot

WebHookの調査と実装
WebHookの調査と実装WebHookの調査と実装
WebHookの調査と実装
moai kids
 
NDC2013 - 인디게임 프로젝트 중도에 포기하지 않는 방법
NDC2013 - 인디게임 프로젝트 중도에 포기하지 않는 방법NDC2013 - 인디게임 프로젝트 중도에 포기하지 않는 방법
NDC2013 - 인디게임 프로젝트 중도에 포기하지 않는 방법
ChangHyun Won
 

What's hot (20)

WebHookの調査と実装
WebHookの調査と実装WebHookの調査と実装
WebHookの調査と実装
 
Golang - Overview of Go (golang) Language
Golang - Overview of Go (golang) LanguageGolang - Overview of Go (golang) Language
Golang - Overview of Go (golang) Language
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
NDC2013 - 인디게임 프로젝트 중도에 포기하지 않는 방법
NDC2013 - 인디게임 프로젝트 중도에 포기하지 않는 방법NDC2013 - 인디게임 프로젝트 중도에 포기하지 않는 방법
NDC2013 - 인디게임 프로젝트 중도에 포기하지 않는 방법
 
Unity3D Programming
Unity3D ProgrammingUnity3D Programming
Unity3D Programming
 
MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NET
 
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
 
Introduction to using google colab
Introduction to using google colabIntroduction to using google colab
Introduction to using google colab
 
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
 
Golang (Go Programming Language)
Golang (Go Programming Language)Golang (Go Programming Language)
Golang (Go Programming Language)
 
MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현
 
What is Jupyter Notebook?
What is Jupyter Notebook?What is Jupyter Notebook?
What is Jupyter Notebook?
 
Tekton 入門
Tekton 入門Tekton 入門
Tekton 入門
 
QThreads: Are You Using Them Wrong?
QThreads: Are You Using Them Wrong? QThreads: Are You Using Them Wrong?
QThreads: Are You Using Them Wrong?
 
継承やめろマジやめろ。 なぜイケないのか 解説する
継承やめろマジやめろ。 なぜイケないのか 解説する継承やめろマジやめろ。 なぜイケないのか 解説する
継承やめろマジやめろ。 なぜイケないのか 解説する
 
How to Write the Fastest JSON Parser/Writer in the World
How to Write the Fastest JSON Parser/Writer in the WorldHow to Write the Fastest JSON Parser/Writer in the World
How to Write the Fastest JSON Parser/Writer in the World
 
ChatGPT-the-revolution-is-coming.pdf
ChatGPT-the-revolution-is-coming.pdfChatGPT-the-revolution-is-coming.pdf
ChatGPT-the-revolution-is-coming.pdf
 
게임 분산 서버 구조
게임 분산 서버 구조게임 분산 서버 구조
게임 분산 서버 구조
 
GCGC- CGCII 서버 엔진에 적용된 기술 (5) - Executor with Exception
GCGC- CGCII 서버 엔진에 적용된 기술 (5) - Executor with ExceptionGCGC- CGCII 서버 엔진에 적용된 기술 (5) - Executor with Exception
GCGC- CGCII 서버 엔진에 적용된 기술 (5) - Executor with Exception
 
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
 

Similar to benjamin kenwright webgpu api lecture 1.pptx

DIY- computer vision with GWT
DIY- computer vision with GWTDIY- computer vision with GWT
DIY- computer vision with GWT
Francesca Tosi
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
Fred Sauer
 
Browser Automation with Playwright – for integration, RPA, UI testing and mor...
Browser Automation with Playwright – for integration, RPA, UI testing and mor...Browser Automation with Playwright – for integration, RPA, UI testing and mor...
Browser Automation with Playwright – for integration, RPA, UI testing and mor...
Lucas Jellema
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web Toolkit
Didier Girard
 

Similar to benjamin kenwright webgpu api lecture 1.pptx (20)

WPEWebKit, the WebKit port for embedded platforms (Linaro Connect San Diego 2...
WPEWebKit, the WebKit port for embedded platforms (Linaro Connect San Diego 2...WPEWebKit, the WebKit port for embedded platforms (Linaro Connect San Diego 2...
WPEWebKit, the WebKit port for embedded platforms (Linaro Connect San Diego 2...
 
Guides To Analyzing WebKit Performance
Guides To Analyzing WebKit PerformanceGuides To Analyzing WebKit Performance
Guides To Analyzing WebKit Performance
 
Web Applications Support with the Chromium Embedded Framework on AGL
Web Applications Support with the Chromium Embedded Framework on AGLWeb Applications Support with the Chromium Embedded Framework on AGL
Web Applications Support with the Chromium Embedded Framework on AGL
 
DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.
 
DIY- computer vision with GWT
DIY- computer vision with GWTDIY- computer vision with GWT
DIY- computer vision with GWT
 
Multimedia support in WebKitGTK and WPE, current status and plans (GStreamer ...
Multimedia support in WebKitGTK and WPE, current status and plans (GStreamer ...Multimedia support in WebKitGTK and WPE, current status and plans (GStreamer ...
Multimedia support in WebKitGTK and WPE, current status and plans (GStreamer ...
 
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
 
Html5 (games)
Html5 (games)Html5 (games)
Html5 (games)
 
Deep dive into serverless on Google Cloud
Deep dive into serverless on Google CloudDeep dive into serverless on Google Cloud
Deep dive into serverless on Google Cloud
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
 
Isolating GPU Access in its Own Process (Foss-North 2018)
Isolating GPU Access in its Own Process (Foss-North 2018)Isolating GPU Access in its Own Process (Foss-North 2018)
Isolating GPU Access in its Own Process (Foss-North 2018)
 
GWT + Gears : The browser is the platform
GWT + Gears : The browser is the platformGWT + Gears : The browser is the platform
GWT + Gears : The browser is the platform
 
Where should I run my code? Serverless, Containers, Virtual Machines and more
Where should I run my code? Serverless, Containers, Virtual Machines and moreWhere should I run my code? Serverless, Containers, Virtual Machines and more
Where should I run my code? Serverless, Containers, Virtual Machines and more
 
Integration of the Chromium Browser in the GENIVI Platform (16th GENIVI AMM)
Integration of the Chromium Browser in the GENIVI Platform (16th GENIVI AMM)Integration of the Chromium Browser in the GENIVI Platform (16th GENIVI AMM)
Integration of the Chromium Browser in the GENIVI Platform (16th GENIVI AMM)
 
GWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO ToolsGWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO Tools
 
Web Leaps Forward
Web Leaps ForwardWeb Leaps Forward
Web Leaps Forward
 
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
 
Browser Automation with Playwright – for integration, RPA, UI testing and mor...
Browser Automation with Playwright – for integration, RPA, UI testing and mor...Browser Automation with Playwright – for integration, RPA, UI testing and mor...
Browser Automation with Playwright – for integration, RPA, UI testing and mor...
 
Acceptance testing with Geb
Acceptance testing with GebAcceptance testing with Geb
Acceptance testing with Geb
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web Toolkit
 

Recently uploaded

在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
ydyuyu
 
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Chandigarh Call girls 9053900678 Call girls in Chandigarh
 
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
nirzagarg
 

Recently uploaded (20)

"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
 
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
 
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
 
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
 

benjamin kenwright webgpu api lecture 1.pptx

  • 1. Benjamin Kenwright WebGPU API Benjamin Kenwright WebGPU API Benjamin Kenwright Lecture 1: Introduction
  • 2. Benjamin Kenwright WebGPU API Benjamin Kenwright Brief Overview • Course Structure • Background History/Trends • Basic Concepts/WebGPU API • Whats/Whys/Where • WebGL vs WebGPU • Shader Languages • GLSL and new WGSL (WebGPU Shader Language) • Discussion & Questions
  • 3. Benjamin Kenwright WebGPU API Benjamin Kenwright Who’s this Course for? • Hobbyists, Academics, Beginners, Programmers, (Curious) Any requirements? • Basic programming knowledge (Loops/Variables) • Basic web-based concepts (e.g., HTML/CSS/JS) • Advantage but not required if you have some basic ‘graphics’ knowledge (e.g., color transforms, shaders, …)
  • 4. Benjamin Kenwright WebGPU API Benjamin Kenwright What this course is ‘NOT’.. • Writing a Framework • Learning a middleware (e.g.. ‘ThreeJS’) • Writing a ‘full’ game (or complete complex application) • Teaching computer graphics This course is about ‘getting started’ – learning the raw API and using it directly • WebGPU API (Syntax & Blocks) • Minimum working examples (MWE) • Springboards to bigger projects
  • 5. Benjamin Kenwright WebGPU API Benjamin Kenwright Notes • Warning… • Supported Browsers (install) • Involve coding! (Not ‘theoretical’) • … • Simple (MWE) Examples • Clearing screen, flashing, … • Buffers, geometry… • Extending examples (step by step) • Graphics then Compute • .. Activities after each Example Question Slides (Think) Stop Points (Try and Test Yourself)
  • 6. Benjamin Kenwright WebGPU API Benjamin Kenwright
  • 7. Benjamin Kenwright WebGPU API Benjamin Kenwright What is the WebGPU API?
  • 8. Benjamin Kenwright WebGPU API Benjamin Kenwright What is the WebGPU API? WebGPU API is a new Cross-Platform 2/3D Compute/Graphics API (for the web) High-level graphics/compute API that taps “openness” of the Native GPU API (Vulkan/DX/Metal)
  • 9. Benjamin Kenwright WebGPU API Benjamin Kenwright Why a new GPU API? Do we need the WebGPU API? Why not create just create WebGL 3?
  • 10. Benjamin Kenwright WebGPU API Benjamin Kenwright Technologies have changed (Plan for Future) New ways of thinking and working
  • 11. Benjamin Kenwright WebGPU API Benjamin Kenwright Problems with Backward Compatibility
  • 12. Benjamin Kenwright WebGPU API Benjamin Kenwright Time for a tidy up! New API (Fresh Start)
  • 13. Benjamin Kenwright WebGPU API Benjamin Kenwright Change how we approach the problem… Tools, resources, technologies, …
  • 14. Benjamin Kenwright WebGPU API Benjamin Kenwright (Multi GPUs) GFLOPS TFLOPS Trends GPU ‘Performance’ Time FLOPS
  • 15. Benjamin Kenwright WebGPU API Benjamin Kenwright GPU (Not just for ‘Graphics’) AI Physics (Simulations) Security/Crypt Analytics
  • 16. Benjamin Kenwright WebGPU API Benjamin Kenwright Is WebGL dead? Does this mean WebGL is dead? Won’t be supported anymore? RIP WebGL?
  • 17. Benjamin Kenwright WebGPU API Benjamin Kenwright NO WebGL is part of the W3c standards Be around for a long time New Tool
  • 18. Benjamin Kenwright WebGPU API Benjamin Kenwright All APIs continue to evolve and be maintained to meet industry standards. Provides a rich mix of open technologies for future innovation Workhorse cross-platform API for professional 3D apps and gaming 1990s Ubiquitous API for mobile gaming and general purpose graphics 2000s Heterogeneous parallel computation 2008s High-efficiency GPU graphics and compute API 2015 Graphics and compute API that exposes the capabilities of GPU hardware for the Web 2022 Simplified Overview of the Open Graphics and Compute Standards Web Graphics API (1.0) 2011 2013/17 WebGL 2.0
  • 19. Benjamin Kenwright WebGPU API Benjamin Kenwright Dangers and Challenges • New API • Not all fun and games • Support/consistency • Number of core principles • Security Priority, Stability, Consistency • New = Untested
  • 20. Benjamin Kenwright WebGPU API Benjamin Kenwright API is ‘NEW’ (Final Changes) • Final phases development tests/checks before release • Check official specification (final updates) • WebGPU API: https://www.w3.org/TR/webgpu/ • WGSL: https://www.w3.org/TR/WGSL/ Open standard
  • 21. Benjamin Kenwright WebGPU API Benjamin Kenwright WebGPU multi-worker/tasks 1. Asynchronous texture & buffer uploads 2. Asynchronous shader compilation 3. Asynchronous pipeline state creation 4. Parallel rendering/encoding 5. Multiple threads/pool own command buffer Textures (bindless) GPU more fine-grained Visibility No need to pass data back and forth between CPU and GPU Important WebGPU Features Opens the door…
  • 22. Benjamin Kenwright WebGPU API Benjamin Kenwright Do you have the WebGPU API? Enabling API (Chrome Canary/Firefox Nightly/Edge Dev) WebGPU is available (for Chrome Canary/Firefox Nightly/MS Edge Dev) behind an experimental flag. You can enable on: Chrome -> chrome://flags Firefox -> about:config Edge -> edge://flags
  • 23. Benjamin Kenwright WebGPU API Benjamin Kenwright
  • 24. Benjamin Kenwright WebGPU API Benjamin Kenwright Stats: https://caniuse.com/webgpu (Red – Disabled by Default)
  • 25. Benjamin Kenwright WebGPU API Benjamin Kenwright Small check – see if your browser has the WebGPU API Note, as you’ll see later, just because you ‘have’ the API available, doesn’t necessarily mean you can use it (also needs to have a driver/device) Small JS Program 1 2 https://webgpulab.xbdev.net/index.php?page=editor&id=test&
  • 26. Benjamin Kenwright WebGPU API Benjamin Kenwright 1 navigator object contains information about the browser (e.g., apis, such as, WebXR and WebGPU API) You can always ‘list’ all the available entries in the navigator like this: for (let n in navigator){ console.log( n ); } 2 navigator.gpu is the ‘webgpu’ api – if this is not ‘undefined’ you have the api
  • 27. Benjamin Kenwright WebGPU API Benjamin Kenwright Question Who manages the WebGPU API? (Organisation)
  • 28. Benjamin Kenwright WebGPU API Benjamin Kenwright Answer Who manages the WebGPU API? WebGPU is managed by Khronos Group (working group). The group includes Apple, Google, Mozilla and Opera
  • 29. Benjamin Kenwright WebGPU API Benjamin Kenwright What to find out more? (Resources/Links) Official website (official standard w3c specification/documentation) • WebGPU API • WGSL • Loads Examples Online/Websites
  • 30. Benjamin Kenwright WebGPU API Benjamin Kenwright Introduction to Ray-Tracing using WebGPU API in 20 Minutes (Coffee Book Series) ISBN-13 : 979-8842178605 Kenwright WebGPU API: An Introduction ISBN-13 : 979-8836435554 Kenwright
  • 31. Benjamin Kenwright WebGPU API Benjamin Kenwright Stay Tuned Lecture 2
  • 32. Benjamin Kenwright WebGPU API Benjamin Kenwright • New era • Final stages (lots of opportunities/potential) • Easy to get started (no excuse) • Challenges/updates/fixes • Must not forget about ‘security’, ‘stability’, … • WebGPU driving future technologies to think outside the box • WebGPU API is ‘NEW’ (untested) • Example, try WebGPULab.com range examples • … Lots of examples and resources available…. Learn the basics first (makes it easy when debugging/fixing problems in more complex projects)