在一个方块游戏里手写软件级遮挡剔除 — Hacker News 中文摘要
来源:enikofox.com — 74 分 · by airhangerf15
📋 概述
作者的开发机只有 Ryzen 7 5700G 的集显 Radeon Vega 8,却想让游戏在低端机器上也能跑,于是给方块游戏写了一套纯软件的遮挡剔除。方块与区块都是轴对齐立方体,这让他能把方案保持得足够简单:读取深度缓冲,逐个可剔除对象检查是否真的有像素可见,不可见就整块丢掉。线程化之后开销不到半帧,地面平视能剔掉 50% 到 60% 的区块,室内与洞穴里能干到 95% 以上,弱机上也能跑到 400 帧以上。
🔑 核心要点
- 动机是让方块游戏在集显与低端硬件上也能跑。
- 方块与区块都是轴对齐立方体,这让算法可以保持简单。
- 方法是读深度缓冲,逐个对象判断是否真有可见像素。
- 地面平视能剔掉 50% 到 60% 的区块,洞穴里可达 95% 以上。
- 线程化后开销不到半帧,弱机上帧率也能上 400。
- 作者也承认存在若干会让方案失效的边界情况。
💡 金句
I want my game to run well even on a potato, which is why I recently decided to try my hand at writing a software rendered occlusion culling solution.
👍 0
👎 0
← 返回 Hacker News 首页