当前位置: 首页 > news >正文

2.1 ShaderLab - 渲染状态

1.Offset


1.Offset

Offset用于解决3D渲染中的深度冲突a.Units: 产生一个固定的偏移量, 与多边形斜率无关b.Factor: 根据多边形斜率产生可变的偏移量, 斜率越大, 偏移越大c.上面的值小于0, 则靠近相机; 大于0, 表示远离相机

1).为什么倾斜的面更容易发生深度冲突?a.深度缓冲区的值可以简化为该公式表示: depth = A + B * (1 / z), z是视图空间的z坐标b.线性变换满足: - 可加性: T(u + v) = T(u) + T(v)- 齐次性: T(c * u) = c * T(u)c.对于depth = A + B * ( 1/ z)

在这里插入图片描述

: "靠近近裁剪面的区域: 深度值精度很高; 靠近远裁剪面的区域: 深度值精度很低"假设有两个斜面几乎平行: a.斜面1的实际深度:501.0, 502.0, 503.0...b.斜面2的实际深度:501.1, 502.1, 503.1...在深度缓冲区中, 这些值可能都被量化为: 501, 502, 503...(因为远处精度不足)结果: GPU无法区分哪个在前面, 导致深度测试结果随机变化 → Z-fighting

2).假设我们有两个三角形, 一个正对相机, 一个倾斜很大a.使用固定偏移Units = 1:- 正对相机的三角形: 可能不需要偏移, 但我们还是给了1个单位的偏移, 这可能导致它与其他物体分离- 倾斜三角形: 1个单位的偏移可能不够, 深度冲突依然存在b.使用Factor = 1, Units = 0- 正对相机的三角形: 斜率很小, 偏移量 ≈ 0, 不会产生不必要的间隙- 倾斜三角形: 斜率大, 偏移量也大, 有效解决深度冲突
http://www.dtcms.com/a/574076.html

相关文章:

  • 在Android设备上打开Perfetto调试日志开关
  • 大型门户网站源码线上培训网站开发
  • 拓扑排序的实现
  • 手机网站模板怎么用网络竞价托管公司
  • 【linux】基础开发工具(3)gcc/g++,动静态库
  • 零基础入门C语言之枚举和联合体
  • PostIn零基础学习 - 如何快速导入PostMan数据,实现数据迁移
  • linux安装mysql说明
  • 大良陈村网站建设广东建设信息网行业版
  • Electron开发应用完整指南
  • 蓝牙音箱东莞网站建设wordpress 有赞云
  • 150.ddr写入数据时数据帧边界对齐问题
  • 济南 制作网站 公司凡科网站怎么做外链
  • 沈阳做网站推广的公司878网站正在建设中
  • Java基础语言进阶学习——4,Java异常体系和自定义异常
  • junit使用
  • 电商网站开发需要掌握哪些知识技能做黑彩网站会怎样处罚
  • 自制51单片机开发板:STC89C52RC最小系统+LCD1602A屏幕
  • 崇州网站制作网站下载软件
  • 实现El-table 每行后面加验证
  • 淘宝网站制作广州公共资源交易
  • 在IAR Embedded Workbench for Arm中开发和调试Infineon MOTIX™ MCU
  • 贵阳市花溪区建设局网站商河做网站公司
  • JDK Maven Tomcat部分配置细节(自用)
  • 网站开发文档步骤应该怎么写开网站设计公司多少钱
  • 城市超级智能体破解落地难题,联想开启智慧城市4.0时代
  • 小型企业门户网站源码电商平台开发系统软件平台
  • 【16】Selenium+Python 接管已打开谷歌浏览器
  • 公司网站导航栏是什么天堂 在线地址8
  • Lay-Vue-Super前后端分离的通用后台管理项目