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

成都高端网站设计公司常用的网站类型有哪些

成都高端网站设计公司,常用的网站类型有哪些,网站用户体验存在问题,品牌营销策划案例ppt文章目录 前言一、_ZBufferParams参数有两组值二、LinearEyeDepth1、使用2、Unity源码推导:3、使用矩阵推导: 三、Linear01Depth1、使用2、Unity源码推导3、数学推导: 前言 在之前的文章中,我们实现了对深度图的使用。因为&#…

文章目录

  • 前言
  • 一、_ZBufferParams参数有两组值
  • 二、LinearEyeDepth
    • 1、使用
    • 2、Unity源码推导:
    • 3、使用矩阵推导:
  • 三、Linear01Depth
    • 1、使用
    • 2、Unity源码推导
    • 3、数学推导:


前言

在之前的文章中,我们实现了对深度图的使用。因为,深度图不是线性的。所以,在使用时,我们使用了 Linear01Depth 函数对其进行了线性转化。

  • Unity中URP下开启和使用深度图

但是,对深度图进行线性转化 还有其他函数。

在这篇文章中,我们来看一下深度图线性转化的 Linear01Depth函数 和 LinearEyeDepth 函数 干了什么。


一、_ZBufferParams参数有两组值

  • 在OpenGL下
    在这里插入图片描述

  • 在类DirectX下
    在这里插入图片描述


二、LinearEyeDepth

1、使用

  • 对采样的深度图纹理进行线性转化
    在这里插入图片描述

  • 转化后的值,就是原来物体的深度 Z 值

float4 cameraDepthTex = SAMPLE_TEXTURE2D(_CameraDepthTexture,sampler_CameraDepthTexture,uv);
float depthTex = LinearEyeDepth(cameraDepthTex,_ZBufferParams);

  • 返回结果全白,效果不明显
    请添加图片描述
  • 我们对其取小数部分,使其效果明显一点

frac(depthTex)

请添加图片描述

2、Unity源码推导:

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

  • 这里使用OpenGL下推导

Z v i e w = 1 1 − f n f d + f n f Z_{view}=\frac{1}{\frac{1-\frac{f}{n}}{f}d+\frac{\frac{f}{n}}{f}} Zview=f1nfd+fnf1

Z v i e w = 1 ( n n − f n ) 1 f d + 1 n Z_{view}=\frac{1}{(\frac{n}{n}-\frac{f}{n})\frac{1}{f}d+\frac{1}{n}} Zview=(nnnf)f1d+n11

Z v i e w = 1 ( n − f n ) 1 f d + 1 n Z_{view}=\frac{1}{(\frac{n-f}{n})\frac{1}{f}d+\frac{1}{n}} Zview=(nnf)f1d+n11

Z v i e w = 1 n − f n f d + 1 n Z_{view}=\frac{1}{\frac{n-f}{nf}d+\frac{1}{n}} Zview=nfnfd+n11

3、使用矩阵推导:

  • OpenGL
    [ 2 n w 0 0 0 0 2 n h 0 0 0 0 n + f n − f 2 n f n − f 0 0 − 1 0 ] \begin{bmatrix} \frac{2n}{w} & 0 & 0 & 0 \\ 0 & \frac{2n}{h} & 0 &0\\ 0 & 0 & \frac{n+f}{n-f} &\frac{2nf}{n-f}\\ 0 & 0 & -1 & 0\\ \end{bmatrix} w2n0000h2n0000nfn+f100nf2nf0

  • DirectX
    [ 2 n w 0 0 0 0 2 n h 0 0 0 0 n f − n n f f − n 0 0 − 1 0 ] \begin{bmatrix} \frac{2n}{w} & 0 & 0 & 0 \\ 0 & \frac{2n}{h} & 0 &0\\ 0 & 0 & \frac{n}{f-n} &\frac{nf}{f-n}\\ 0 & 0 & -1 & 0\\ \end{bmatrix} w2n0000h2n0000fnn100fnnf0

  • 由观察空间转化到裁剪空间矩阵可得
    Z c l i p = n + f n − f Z v i e w + 2 n f n − f W v i e w Z_{clip}=\frac{n+f}{n-f}Z_{view}+\frac{2nf}{n-f}W_{view} Zclip=nfn+fZview+nf2nfWview
    W c l i p = − Z v i e w W_{clip}=-Z_{view} Wclip=Zview

  • 做透视除法可得
    Z n d c = Z c l i p W c l i p = n + f n − f Z v i e w + 2 n f n − f − Z v i e w = n + f f − n + 2 n f ( f − n ) Z v i e w Z_{ndc} = \frac{Z_{clip}}{W_{clip}} = \frac{\frac{n+f}{n-f}Z_{view}+\frac{2nf}{n-f}}{-Z_{view}}=\frac{n+f}{f-n}+\frac{2nf}{(f-n)Z_{view}} Zndc=WclipZclip=Zviewnfn+fZview+nf2nf=fnn+f+(fn)Zview2nf

  • d = 0.5 ⋅ Z n d c + 0.5 d=0.5·Z_{ndc}+0.5 d=0.5Zndc+0.5
    d = 0.5 ⋅ ( n + f f − n + 2 n f ( f − n ) Z v i e w ) + 0.5 d = 0.5·(\frac{n+f}{f-n}+\frac{2nf}{(f-n)Z_{view}})+0.5 d=0.5(fnn+f+(fn)Zview2nf)+0.5

  • 我们由 d d d 公式化简,即可得到 Z v i e w Z_{view} Zview
    Z v i e w = 1 f − n n f d − 1 n Z_{view} = \frac{1}{\frac{f-n}{nf}d-\frac{1}{n}} Zview=nffndn11

  • 为了得到正的Z值,需要取反
    Z v i e w = − 1 f − n n f d − 1 n Z_{view} =- \frac{1}{\frac{f-n}{nf}d-\frac{1}{n}} Zview=nffndn11
    Z v i e w = 1 n − f n f d + 1 n Z_{view}=\frac{1}{\frac{n-f}{nf}d+\frac{1}{n}} Zview=nfnfd+n11


三、Linear01Depth

1、使用

  • 对采样的深度图纹理进行线性转化
    在这里插入图片描述

  • 转化后的值,是Z值在[0,1]区间的值

float4 cameraDepthTex = SAMPLE_TEXTURE2D(_CameraDepthTexture,sampler_CameraDepthTexture,uv);
float depthTex = Linear01Depth(cameraDepthTex,_ZBufferParams);

  • 返回结果
    请添加图片描述

2、Unity源码推导

在这里插入图片描述
、

  • OpenGL下推导:
    Z v i e w = 1 ( 1 − f n ) d + f n Z_{view}= \frac{1}{(1-\frac{f}{n})d+\frac{f}{n}} Zview=(1nf)d+nf1

3、数学推导:

  • 这是LinearEyeDepth下推导出来的
    Z v i e w = 1 n − f n f d + 1 n Z_{view}=\frac{1}{\frac{n-f}{nf}d+\frac{1}{n}} Zview=nfnfd+n11

  • Z v i e w Z_{view} Zview的取值范围 [ n e a r , f a r ] [near,far] [near,far]

  • 使其除以一个 f f f得到 Linear01Depth函数的结果
    Z v i e w = 1 n − f n f d + 1 n ⋅ 1 f = 1 n − f n f d f + f n = 1 ( 1 − f n ) d + f n Z_{view}=\frac{1}{\frac{n-f}{nf}d+\frac{1}{n}}·\frac{1}{f}=\frac{1}{\frac{n-f}{nf}df+\frac{f}{n}}=\frac{1}{(1-\frac{f}{n})d+\frac{f}{n}} Zview=nfnfd+n11f1=nfnfdf+nf1=(1nf)d+nf1

http://www.yayakq.cn/news/324402/

相关文章:

  • 带注册的网站需要多大空间免费美食网站源码
  • 网站内容的建设建设工程 质量 协会网站
  • 北京中国建设工程造价管理协会网站太仓seo网站优化软件
  • 上海网站建设 网页制作免费ppt模板大全网址
  • 在阿里云里网站建设的步骤过程室内设计效果图招聘
  • 一键做网站wordpress主题demo导入
  • 网站建设对用户影响网站设置点赞
  • 贵港北京网站建设网络广告推广服务
  • 天津企商网站建设公司设计方案范本
  • 网站建设预算表制作彩票网站开发需要多少钱
  • 学校网站怎么做的好处营销型网站建设和规划
  • 公司没有自己的网站群晖 wordpress 目录
  • 靖江网站制作多少钱兰溪优秀高端网站设计地址
  • 海口网站建设在线建立网站的是什么人
  • 在哪买网站链接云空间提供网站
  • 婚恋网站 模板ww事业怎么推广
  • 个人网站首页设计欣赏8小8x人成免费完整板
  • 文章采集网站如何申请免费网站
  • 网站建设哪里好翰诺科技手机微信网站链接
  • 源码下载网站推荐成华区住房和城乡建设厅网站
  • 99微分销系统seo视频网页入口网站推广
  • frontpage做网站教程发帖百度秒收录网站分享
  • 网站建设APP的软件广告设计在线设计
  • 赣州网站建设jx25在哪个网站可做网络夫妻
  • 网站网上商城建设风控网站开发
  • wordpress网站访问很慢wordpress指定分类文章作者时间
  • 永康网站建设尚海整装装修怎么样
  • 西乡塘区网站建设wordpress wpgo
  • 网站建设怎么管理业务员建站之星官网登陆
  • 微信公众平台 网站开发网站外部链接做多少合适呢