GPU PRO 5 - 3.1 Screen-Space Grass 笔记

本笔记仅为个人的理解,如果有误欢迎指出。

Screen-Space Grass

屏幕空间草

文章讲述了一种用噪声在屏幕空间中模拟中景和远景的草地效果。

算法主要分为两个阶段:

1,地形模板缓冲区遮罩;

2,后处理渲染;

1,地形模板缓冲区遮罩

这一部分主要为了标记屏幕空间中哪些区域是地形,或是哪些地方需要画草

文章中将地形的模板值设为了2,其他的物体的模板值设为了1

2,后处理渲染

这一部分是文章草地渲染的核心。

文章渲染草地的思路很简单,作者并没有真正生成草的几何体,而是在屏幕空间中把地形颜色颜色沿垂直方向拉伸,这会形成细长的纹理,所以在远处看起来会像草叶。

相关代码上可以看到,只是简单的做一些偏移

效果:

其他细节:

如何识别是不是草:

文章模板测试中标记的只是地形,但是不是草地区域需要另外做区分,作者简单判断原像素是不是绿色来判断是不是草区域。

也就是要同时满足在地形上绿色的条件才会进行托抹。

有可能一些非地形组成部分的源像素被误处理,比如树木、路标、其他场景装饰物等等。为了检测这种情况,作者简单做了一个深度测试

所以SSG实际上通过三层判断条件来尽可能保证处理草地。

第一层是Stencil Mask

第二层是Green Test

第三层是Depth Test

最终效果:

局限性:

1,只能固定垂直方向:因为它假设草叶永远朝屏幕上方生长。

2,缺乏风场动画

参考资料:

GPU Pro5 图像空间篇

相关推荐
老当益壮梁奶奶2 小时前
51单片机DS18B20温度传感器详解:单总线时序与C51驱动实现
笔记·stm32·单片机·嵌入式硬件·51单片机
小叶肥辉2 小时前
LangChain链和LangGraph图的学习笔记【三】——分别用langchain_openai库和langchain_community库调用大模型
笔记·python·langchain
从零开始的嵌入式之旅4 小时前
day44
arm开发·经验分享·笔记·嵌入式硬件
商业白皮书7 小时前
杭州企业做 GEO 怎么选服务商?B2B 制造、外贸出海与品牌连锁选型指南
笔记
商业白皮书7 小时前
密不透风的瑕疵防线:东集SEV400视觉传感器,定义“轻量化”精准检测
笔记
谢白羽10 小时前
MiniMax-H3 : 4卡 H20-3e一套权重部署实践/8卡H200部署优化实测
笔记·llm·论文·大模型部署·sglang
志尊宝10 小时前
Vue3 零基础每日笔记(024):组件的创建与使用——从 import 到自动导入
前端·vue.js·笔记·前端框架·html5
chnyi6_ya11 小时前
论文阅读笔记:VBVR-Pro 把「用生成来推理」变成一个可训练、可验证、可优化的闭环
论文阅读·笔记
contro1_h11 小时前
关于ArcGIS许可管理器服务无法启动的问题
经验分享·笔记·学习方法
1314lay_100711 小时前
SQL SERVER 修改已创建的表
经验分享·笔记