GPU PRO 5 - 2.6 Wire Antialiasing 笔记

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

Wire Antialiasing

电线的抗锯齿

本文讲述了一种应用于线缆的抗锯齿技术,实际上适用于任何能够当作圆柱形的物体。比如电线、管道、电线杆、栏杆、路灯杆、天线塔、栏杆、草丛。其实这里的思路类似于同书2.5章中头发的抗锯齿技术,也是通过计算覆盖率控制透明度的思路。

第一步:调整电线在渲染的时的缩放程度。

首先文章中控制电线在渲染的时候像素的大小不会小于一个像素。文章定义了一个缩放因子去控制缩放:

控制像素大小的代码如下:

但这会带来一个问题就是远处的电线会变粗,因为一个像素虽然小,但比起远处电线原来的大小还是会粗很多。

解决这个问题的办法是将原本的电线粗细与拓展后的粗细计算出一个覆盖率,作为渲染像素的透明度值。然后得到以下效果

处理着色问题:

渲染的物体过小会带来一个问题就是相关的向量误差会越来越大,比如法线可能会因为像素变小而使得方向跳向了别的地方。因此与法线相关的光照模型在这些渲染上就不适用了,因此文章提出用法线变化带来的影响比较小的光照模型,比如半兰伯特光照模型。

但这还不够,文章还提出了可以根据距离调整光照模型,比如直接过渡到简单着色的形式。或是随着距离增加调整压平法线,以适应半兰伯特光照模型。

参考资料:

GPU Pro5 光照篇

相关推荐
李某学编程6 小时前
基于ARM的微机原理学习笔记(一)
arm开发·笔记·学习
sbjdhjd7 小时前
AI产业周度动态:从“更强模型”走向“可执行、可治理、可计价”的系统竞争 (2026年10月19日—10月25日)
人工智能·笔记·ai·开源·gemini·信息差·claude code
ss2738 小时前
AI时代首先数据库-PostgreSQL实战笔记 27 PostgreSQL数据写入与读取流程解析
数据库·笔记·postgresql
深圳老胡9 小时前
压力检测空吸功能硬件方案全解析:主流压力传感器品牌与实现路径
笔记·单片机·代码规范
程序猿追9 小时前
返回 null 不一定入队成功:鸿蒙 KMP上的并发优先队列观察笔记
笔记·华为·harmonyos·kmp
崔高杰10 小时前
【多论文阅读笔记】下一阶段,Agent记忆关注什么能力?
论文阅读·笔记
ms72wx10 小时前
Docker 命令学习笔记:从入门到进阶的实战指南
笔记·学习·docker
NoteDeep 深度笔记11 小时前
排期看不出冲突?把任务表切成甘特图
笔记·个人开发·甘特图·笔记应用·深度笔记·云笔记
霍霍的袁12 小时前
【C++11】左值右值引用与移动语义详细笔记(左值右值、右值引用、移动构造、移动赋值、引用折叠、万能转发)
c++·笔记·学习·visual studio
MandalaO_O12 小时前
SpringMVC 异常处理 & 拦截器
笔记