WebGL
WebGL(Web Graphics Library)可以在 Web 浏览器中实现高性能的 3D 图形渲染。WebGL 是基于 OpenGL ES(OpenGL for Embedded Systems)标准的一个 JavaScript API
WebGPU
WebGPU 是一种新的 Web 标准,用于在 Web 浏览器中进行高性能图形渲染和计 算。它旨在提供比 WebGL 更底层、更直接的硬件访问,并且更好地与现代图形 API(如 Vulkan、Metal 和 Direct3D 12)对接
WebGPU 的设计目标是提供一个跨平台、高性能的图形和计算编程接口,使开发者能够更好地利用 GPU 的计算能力。它为开发者提供了更多的控制权和灵活性,以实现更高效、更复杂的图形渲染和计算任务。
WebGPU 的特点包括:
- 低级别的硬件访问:WebGPU 提供了更底层的硬件访问接口,使开发者能够更直接地控制 GPU 的功能和性能。
- 线程安全:WebGPU 支持多线程操作,使开发者能够更好地利用多核 CPU 和多个 GPU。
- 强大的计算能力:WebGPU 提供了强大的计算能力,使开发者能够在浏览器中进行复杂的计算任务,如图像处理、物理模拟等。
- 跨平台支持:可以在不同的操作系统和设备上运行,包括桌面、移动设备和虚拟/增强现实设备。
WebGPU 的发展是由 Khronos Group 主导的,该组织也负责制定其他图形 API 标准,如 OpenGL、Vulkan 等。
Shader 着色器
Shder 是运行于 GPU 显卡中的一段程序,可控制渲染管线中的一部分,用于控制图形的绘制和渲染过程
- 顶点着色器(Vertex Shader),负责确定图形的每一个顶点的位置
- 片元着色器(Fragment Shader),负责渲染图像的每一个片元(像素)的颜色