- 博客(7)
- 收藏
- 关注
原创 WebGPU 万能动画公式
要实现不同形态/形状之间的动态变换,核心算法很简单,就是通过来实现。在进行动态变换时,通常不同形态或形状之间的顶点数量会不相等。为了使两边的顶点能够一一对应起来,我们可以通过随机或插值的方式来补充顶点。这种方式不会破坏顶点数较少一边的造型,相当于某些点有了分身。通过对对应顶点的插值计算,就能够实现形态的变换。此万能动画公式的优点在于它的简单性和适用性。无论是对于简单的形状变换还是复杂的动态效果,都可以通过构造同等数量的顶点来实现。而且,运用不同的插值算法,还能灵活地控制形态变换的程度和速度。
2023-07-09 16:26:55
235
原创 wgpu 与 Android App 集成
大量非游戏类 App 也经常有使用图形 API 的需求(比如,图表、图片滤镜等),这些 App 需要用到大量的系统 UI 组件及交互,winit 这种接管整个 App 窗口的方式是不合适的。所以,将 wgpu 集成到现有的 iOS、Android App 且不使用 winit 将非常有用。
2022-12-30 14:20:00
386
原创 wgpu 与 iOS App 的集成
大量非游戏类 App 也经常有使用图形 API 的需求(比如,图表、图片滤镜等),这些 App 需要用到大量的系统 UI 组件及交互,winit 这种接管整个 App 窗口的方式是不合适的。所以,将 wgpu 集成到现有的 iOS、Android App 且不使用 winit 将非常有用。
2022-12-29 13:59:09
318
原创 WebGPU 计算管线
计算管线(ComputePipeline)是 WebGPU 中控制计算着色器阶段的管线,它适用于各种 GPU 通用计算场景,这是 WebGL 所不具备的。我们能通过绑定的存储缓冲区及存储纹理来获得管线计算输出。
2022-12-27 11:36:55
560
1
原创 WebGPU 着色器语言 WGSL 介绍及与 GLSL 的对比
WGSL 的目标不是要与 GLSL 兼容,它是对现代着色器语言的全新重新设计。2020 年 4 月 27 日,WGSL 标准有了第一次提交。自此开始,wgpu 和 dawn 都摆脱了对 shaderc 之类复杂繁重的着色器转译工具的依赖。wgpu 里使用的 WGSL 转译工具叫 naga, kvark 有一篇博客(Shader translation benchmark)对比了 naga 相比于其它转译工具的性能优化,总体来说,有 10 倍以上的性能优势。
2022-11-08 15:23:57
2361
原创 wgpu 中的窗口程序
在 wgpu 中调用窗口程序最简单的方式就是使用 winit 包(crate)。但这不是必须的,实现一个 wgpu 窗口程序只需要实现 raw-window-handle 里定义的两个抽象接口即可。如果有兴趣自己动手来为 wgpu 实现一个窗口程序,可以参考 wgpu-on-app,在我的 wgpu 教程中的 调试与集成 部分也有详情的介绍。
2022-11-01 11:31:01
647
原创 每一个大前端(Web + App)工程师都应该学习 wgpu
计算机图形学做为前端的底层技术, 我相信大部分前端(Web + App)工程师都有过学习图形学的想法。WebGPU做为面向下一个十年的跨平台图形 API, 可以为我们节省分别学习各平台图形 API 的时间精力。
2022-10-31 15:01:51
1066
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人