Unity中Shader的深度偏移Offset

news2024/11/19 15:30:54

文章目录

  • 前言
  • 一、深度偏移一般用于什么时候
    • 1、深度偏移一般用于两个模型 重合在同一平面时,在其中一个模型上使用深度偏移后,就能区别出两个模型的深度,从而消除闪动
    • 2、虽然,可以让两个模型在深度上错开一点点,来解决这个闪动的物体,但是,在需求就是需要在同一平面下就行不通
    • 3、产生的原因
    • 请添加图片描述
  • 二、解决的办法
    • 1、错开模型一点点
    • 2、使用深度偏移Offset
    • 3、测试 推远 和 拉近


前言

该操作是在深度测试时操作,并不是在深度缓冲区中实现


一、深度偏移一般用于什么时候

1、深度偏移一般用于两个模型 重合在同一平面时,在其中一个模型上使用深度偏移后,就能区别出两个模型的深度,从而消除闪动

2、虽然,可以让两个模型在深度上错开一点点,来解决这个闪动的物体,但是,在需求就是需要在同一平面下就行不通

3、产生的原因

在这里插入图片描述在这里插入图片描述

在深度缓冲区中,值为 0 到 0.7 的时候,深度分的很细,所以深度的精度值就很高,在模型距离摄像机很近时重合于一个平面时就会出现分不清该先渲染谁的问题

请添加图片描述

二、解决的办法

1、错开模型一点点

2、使用深度偏移Offset

Offset Factor, Units
深度偏移,offset = (m * factor) + (r * units),默认值为0,0
m:指多边形的深度斜率(在光栅化阶段计算得出)中的最大值,多边形越是与近裁剪面平行,m值就越接近0。
r:表示能产生在窗口坐标系的深度值中可分辨的差异的最小值,r是由具体实现OpenGL的平台指定的一个常量。
结论:一个大于0的offset会把模型推远,一个小于0的offset会把模型拉近。

对于Offset,我们就记住 大于0 推远 ,小于0 推近
offset = (m * factor) + (r * units)
那么对于公式中 m 和 r 我们无法控制,但是都大于0
那么改变 factor 和 units 正负值即可

3、测试 推远 和 拉近

推远:

Offset 1,1

在这里插入图片描述
拉近:

Offset -1,-1

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1109560.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

工业级开源facechain人物写真sd-webui插件使用方式

一、简介 facechain人物写真应用自8月11日开源了第一版证件照生成后。目前在github(https://github.com/modelscope/facechain)上已有近6K的star,论文链接:FaceChain: A Playground for Identity-Preserving Portrait Generation…

Linux-JVM-CPU爆表调优

CPU爆表调优 一、自定义一个死循环测试类二、运行TestDemo类三、调优1、执行top命令2、执行ps命令3、执行jstack命令 一、自定义一个死循环测试类 第7行一定会死循环,永远出不去 public class TestDemo {public static void main(String[] args) {new Thread(null,(…

安装mmcv及GPU版本的pytorch及torchvision

一、先装GPU版本的pytorch和torchvision pip install torch1.9.1cu111 torchvision0.10.1cu111 torchaudio0.9.1 -f https://download.pytorch.org/whl/torch_stable.html注意:以上适用cuda11.1版本 如果想离线安装,就看这篇文章 二、安装mmcv 看这篇…

Python学习之Python3.10中match-case的用法和示例

在 Python 3.10 中引入了新的 match-case 语法,它是一种用于模式匹配的结构。它类似于 switch-case 语句,可以根据不同的模式匹配执行不同的代码块。 match-case 语法的基本结构如下: match expression:case pattern1:# 执行代码块1case p…

SpringCloud-Seata

一、介绍 (1)实现分布式事务 (2)解决Spring只支持单机事务 (3)事务ID TC(事务协调者) TM(事务管理者) RM(资源管理者)

2021-arxiv-Prefix-Tuning- Optimizing Continuous Prompts for Generation

2021-arxiv-Prefix-Tuning- Optimizing Continuous Prompts for Generation Paper:https://arxiv.org/pdf/2101.00190.pdf Code:https://github.com/XiangLi1999/PrefixTuning 前缀调优:优化生成的连续提示 prefix-tunning 的基本思想也是想…

西湖大学利用 Transformer 分析百亿多肽的自组装特性,破解自组装法则

多肽是两个以上氨基酸通过肽键组成的生物活性物质,可以通过折叠、螺旋形成更高级的蛋白质结构。多肽不仅与多个生理活动相关联,还可以自组装成纳米粒子,参与到生物检测、药物递送、组织工程中。 然而,多肽的序列组成过于多样&…

瞬态抑制二极管TVS的工作原理?|深圳比创达电子EMC(上)

TVS二极管具有响应速度快、漏电流小、钳位电压稳以及无寿命衰减的特性,从小到信号线静电防护,大到电力系统抗雷击浪涌,TVS都发挥着至关重要的作用。本章对瞬态抑制二极管TVS工作机理展开分析,供产品选型参考。接下来就跟着深圳比创…

用git stash暂存修改

git stash命令用于保存当前工作目录的临时状态,包括暂存区和已修改但未暂存的文件。它会将这些修改保存在一个临时区域(即“堆栈”)中,让你能够回到一个干净的工作目录,可以进行其他操作。等到你完成其他任务后&#x…

立即报名 | 云原生 + AI Meetup 成都站 11.4 正式开启

2023 年,KubeSphere 社区已经在深圳、杭州、上海三个城市各组织了一场线下 Meetup。第四站,我们将走进天府成都。 11 月 4 日,云原生 AI Meetup 成都站将正式开启! 此次 Meetup,我们邀请到了蚂蚁集团、云猿生数据、…

系列十二、Redis的主从复制

一、概述 主从复制架构仅仅用来解决数据的冗余备份,从节点仅仅用来同步数据。 二、架构图 三、搭建主从复制 # 1、准备3台机器并修改配置 -- master port 7379-- slave1 port 7380 slaveof masterip masterport-- slave2 port 7381 slaveof masterip masterpor…

美创科技入选“内蒙古自治区第一届网络安全应急技术支撑单位”

近日,内蒙古自治区党委网信办、国家网络应急技术处理协调中心内蒙古分中心评选“内蒙古自治区网络安全应急技术支撑单位”结果公布。 经自治区各地区、各部门和单位推荐各单位自主申报,资料审查和专家评审等环节,美创科技成功入选“内蒙古自治…

win10下yolov7 tensorrt模型部署

TensorRT系列之 Win10下yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov7 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov6 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov5 tensorrt模型加速部署…

【数据结构】排序--归并排序

目录 一 基本思想 二 代码实现 三 非递归归并排序 一 基本思想 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并&#xff…

linux常见命令-文件目录类

9.4 文件目录类 (1)pwd 指令:显示当前工作目录的绝对路径 (2)Is指令:查看当前目录的所有内容信息 基本语法: ls [选项,可选多个] [目录或是文件] 常用选项:-a:显示当前目录所有的文件和目录,包括隐藏的…

02Nacos和Feign及Gateway配置

一、Nacos配置管理 1.统一配置管理 配置更改热更新 ①在Nacos中添加配置信息: ②在弹出表单中填写配置信息: 2.配置获取的步骤如下 配置文件bootstrap.yml的优先级比application.yml优先级高。把nacos地址放入bootstrap.yml。 ①在userservice中引入N…

Python —— Reference | hou

Houdini有非常多的Python模块可使用,不止一个hou,如hutil、toolutils、husd、kramautils等,只是帮助文档并没有提起,可从源代码docstring中查询; //查询有效的模块 help(modules) hou模块按功能可分为三类:…

windows 10下安装Pytorch的操作文档与避坑指南

前言 PyTorch3D 是 Facebook AI Research (FAIR) 开发的一个用于 3D 计算机视觉任务的开源深度学习库。它是建立在 PyTorch 框架之上的,并旨在为研究人员和工程师提供处理 3D 数据、渲染和几何计算的工具和模块。 PyTorch3D的用途: 3D 几何操作&#x…

Linux 内核启动分析

Linux 内核启动分析-BugMan-ChinaUnix博客 通过《Linux应用程序elf描述》,我们了解到一个应用程序编译后,最终会按照指定方式进行链接,而我们通过ld --verbose可以查看对应应用的默认链接方式。那么对于Linux内核呢?毫无疑问&…

大模型背景下软件工程的机遇与挑战

点击链接了解详情 本文作者:汪晟杰 导语:AISE(AI Software Engineering)有人说是软件工程 3.0,即基于大模型(LLM - Large Language Model)时代下的软件工程。那么究竟什么是 AISE,他的发展历程对…