Practical WebGPU Graphics

Practical WebGPU Graphics

ISBN: 9798725062625, Publish Date: 2021

Paperback: $69.99

Buy on Amazon

eBook: $49.99

About this Book

WebGPU is the next-generation graphics API and future web standard for graphics and compute, aiming to provide modern 3D graphics and computation capabilities with the GPU acceleration. This book provides all the tools you need to help you create advanced 3D graphics and GPU computing on the web with this new WebGPU API.

The book starts by taking you through the WebPack-TypeScript template for building the WebGPU apps and then shows you the WebGPU basics, shader program, GPU buffer, and rendering pipeline. Next, you will learn how to create primitives and simple objects in WebGPU. As you progress through the chapters, you will get to grips with advanced WebGPU topics, including 3D transformation, lighting calculation, colormaps, and textures. At the same time, you will learn how to create advanced 3D WebGPU objects, including various 3D wireframes, 3D shapes, simple and parametric 3D surfaces with colormaps and textures, as well as 3D surface plots and fractal graphics described by complex functions. In addition, you will explore new WebGPU features, such as compute shader and storage buffer, and how to use them to simulate large particle systems.

By the end of this book, you will have the skill you need to build your own GPU-accelerated graphics and computing on the web with the WebGPU API.

The things you will learn from this book:

  • Template based on WebPack and TypeScript for developing WebGPU apps.
  • WebGPU basics, GLSL and WGSL shaders, and rendering pipeline.
  • Create primitives and simple shapes in WebGPU.
  • 3D transformations, model, viewing, projection, and various coordinate systems.
  • GPU buffers, uniform buffer objects, animation, and camera controls.
  • Normal vectors, lighting model, ambient, diffuse, and specular light calculations.
  • UV coordinates, texture mapping.
  • Color model, colormaps, and color interpolation.
  • Create 3D shapes, wireframes, surfaces, and 3D charts.
  • Create 3D plots and fractal graphics using complex functions.
  • Compute shaders, storage buffers, and large particle system simulation.