WebGPU赋能:浏览器中的粒子生命模拟
作者利用WebGPU API在浏览器中实现了粒子生命模拟,该模拟基于一个非物理模型,粒子间作用力可以是非对称的,从而模拟出类似生物的活动。文章详细介绍了模型原理、WebGPU实现、空间哈希优化和渲染技术,包括高效的并行前缀和算法。最终效果令人惊艳,可生成各种有趣的生命形态,并支持自定义规则和分享。
阅读更多
作者利用WebGPU API在浏览器中实现了粒子生命模拟,该模拟基于一个非物理模型,粒子间作用力可以是非对称的,从而模拟出类似生物的活动。文章详细介绍了模型原理、WebGPU实现、空间哈希优化和渲染技术,包括高效的并行前缀和算法。最终效果令人惊艳,可生成各种有趣的生命形态,并支持自定义规则和分享。
阅读更多
本文介绍了一种用于在游戏中模拟地形上水流的简易高效方法——虚拟管道法。该方法基于浅水方程,采用交错网格,将水流视为通过虚拟管道连接的水柱。通过水位差加速水流,并通过流出缩放避免出现负水量。作者详细解释了该方法的三个步骤:水流加速、流出缩放和水柱更新,并给出了相应的代码示例。该方法简单易懂,计算效率高,适用于需要地形修改和水流模拟的游戏,例如城市建设游戏。虽然该方法存在一些局限性,例如缺乏惯性和速度扩散,但对于大多数游戏场景来说已经足够实用。
阅读更多
游戏开发者在使用alpha测试透明度渲染树木、灌木等植物时,发现Mipmap会导致纹理消失或变形。文章探讨了多种解决方法,包括调整alpha值、使用SDF(符号距离函数)等。最终,作者采用了一种结合预乘alpha、最大值下采样SDF和平均预乘颜色的方法,有效地解决了Mipmap问题,在保持纹理形状的同时避免了伪影,提升了游戏画面质量。
阅读更多
本文是一个关于用C++从零开始实现一个基本的CPU光栅化引擎的教程系列。它不涉及GPU,而是手动绘制像素,模拟GPU通常为我们执行的操作。该教程分为12个部分,涵盖了引擎的各个方面,从绘制第一个像素到高级内容和优化。该项目的所有代码都可以在GitHub上找到,每个提交对应于系列中的每一篇文章。
阅读更多