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

qq上如何做文学网站网站开发社区

qq上如何做文学网站,网站开发社区,牙科医院网站建设,各大网站博客怎么做推广文章目录 前言一、Unity使用了ComputeScreenPos函数得到屏幕坐标1、 我们来看一下这个函数干了什么2、我们看一下该函数实现该结果的意义 二、在Shader中使用#xff08;法一#xff09;1、在Varying结构体中2、在顶点着色器中3、在片元着色器中 三、在Shader中使用#xff… 文章目录 前言一、Unity使用了ComputeScreenPos函数得到屏幕坐标1、 我们来看一下这个函数干了什么2、我们看一下该函数实现该结果的意义 二、在Shader中使用法一1、在Varying结构体中2、在顶点着色器中3、在片元着色器中 三、在Shader中使用法二1、在片元着色器中 四、最终效果 前言 在上一篇文章中我们实现了URP下深度图的使用。 Unity中URP下开启和使用深度图 但是因为是使用模型UV采样的原因。所以深度图效果不对 所以在这一篇文章中我们使用屏幕坐标来采样深度图。 一、Unity使用了ComputeScreenPos函数得到屏幕坐标 1、 我们来看一下这个函数干了什么 齐次裁剪空间进行透视除法 x n d c x w x_{ndc} \frac{x}{w} xndc​wx​ 然后进行如下步骤化简得到该函数结果 x s c r e e n ( x n d c ∗ 0.5 0.5 ) ∗ w i d t h x_{screen} (x_{ndc}*0.50.5)*width xscreen​(xndc​∗0.50.5)∗width x s c r e e n ( x w ∗ 0.5 0.5 ) ∗ w i d t h x_{screen} (\frac{x}{w}*0.50.5)*width xscreen​(wx​∗0.50.5)∗width x s c r e e n w i d t h ( x w ∗ 0.5 0.5 ) \frac{x_{screen}}{width}(\frac{x}{w}*0.50.5) widthxscreen​​(wx​∗0.50.5) x s c r e e n w i d t h ∗ w ( x ∗ 0.5 w ∗ 0.5 ) \frac{x_{screen}}{width}*w(x*0.5w*0.5) widthxscreen​​∗w(x∗0.5w∗0.5) 2、我们看一下该函数实现该结果的意义 x s c r e e n w i d t h ∗ w \frac{x_{screen}}{width}*w widthxscreen​​∗w 当 x s c r e e n 0 x_{screen} 0 xscreen​0 x s c r e e n w i d t h ∗ w 0 \frac{x_{screen}}{width}*w 0 widthxscreen​​∗w0 当 x s c r e e n w i d t h x_{screen} width xscreen​width x s c r e e n w i d t h ∗ w w \frac{x_{screen}}{width}*w w widthxscreen​​∗ww 得到最终o的范围 ( [ 0 , w ] , [ 0 , w ] , z , w ) ([0,w],[0,w],z,w) ([0,w],[0,w],z,w) ( [ 0 , w ] w , [ 0 , w ] w , z w , 1 ) (\frac{[0,w]}{w},\frac{[0,w]}{w},\frac{z}{w},1) (w[0,w]​,w[0,w]​,wz​,1) ( [ 0 , 1 ] , [ 0 , 1 ] , z w , 1 ) ([0,1],[0,1],\frac{z}{w},1) ([0,1],[0,1],wz​,1) 二、在Shader中使用法一 1、在Varying结构体中 float4 screenPos : TEXCOORD1; 2、在顶点着色器中 o.screenPos ComputeScreenPos(o.positionCS); 3、在片元着色器中 float2 uv i.screenPos.xy / i.screenPos.w; float4 cameraDepthTex SAMPLE_TEXTURE2D(_CameraDepthTexture,sampler_CameraDepthTexture,uv); float depthTex Linear01Depth(cameraDepthTex,_ZBufferParams); return depthTex; 三、在Shader中使用法二 原理用 齐次裁剪坐标 屏幕宽高 \frac{齐次裁剪坐标} {屏幕宽高} 屏幕宽高齐次裁剪坐标​刚好得到[0,1]之间的屏幕uv坐标 1、在片元着色器中 float2 uv i.positionCS/ _ScreenParams.xy; float4 cameraDepthTex SAMPLE_TEXTURE2D(_CameraDepthTexture,sampler_CameraDepthTexture,uv); float depthTex Linear01Depth(cameraDepthTex,_ZBufferParams); return depthTex; 四、最终效果 Shader MyShader/URP/P4_1 {Properties {_Color(Color,Color) (0,0,0,0)_MainTex(MainTex,2D) white{}}SubShader{Tags{//告诉引擎该Shader只用于 URP 渲染管线RenderPipelineUniversalPipeline//渲染类型RenderTypeTransparent//渲染队列QueueTransparent}//Blend One OneZWrite OffPass{Name UnlitHLSLPROGRAM#pragma vertex vert#pragma fragment frag// Pragmas#pragma target 2.0// Includes#include Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl#include Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl#include Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlslCBUFFER_START(UnityPerMaterial)half4 _Color;CBUFFER_END//纹理的定义如果是编译到GLES2.0平台则相当于sample2D _MainTex;否则相当于 Texture2D _MainTex;TEXTURE2D(_MainTex);SAMPLER(SamplerState_linear_mirrorU_ClampV); float4 _MainTex_ST;TEXTURE2D(_CameraDepthTexture);SAMPLER(sampler_CameraDepthTexture);//struct appdata//顶点着色器的输入struct Attributes{float3 positionOS : POSITION;float2 uv : TEXCOORD0;};//struct v2f//片元着色器的输入struct Varyings{float4 positionCS : SV_POSITION;float2 uv : TEXCOORD0;float4 screenPos : TEXCOORD1;};//v2f vert(Attributes v)//顶点着色器Varyings vert(Attributes v){Varyings o (Varyings)0;float3 positionWS TransformObjectToWorld(v.positionOS);o.positionCS TransformWorldToHClip(positionWS);o.uv TRANSFORM_TEX(v.uv,_MainTex);o.screenPos ComputeScreenPos(o.positionCS);return o;}//fixed4 frag(v2f i) : SV_TARGET//片元着色器half4 frag(Varyings i) : SV_TARGET{half4 c;float4 mainTex SAMPLE_TEXTURE2D(_MainTex,SamplerState_linear_mirrorU_ClampV,i.uv);//c _Color * mainTex;//深度图//float2 uv i.screenPos.xy / i.screenPos.w;float2 uv i.positionCS/ _ScreenParams.xy;float4 cameraDepthTex SAMPLE_TEXTURE2D(_CameraDepthTexture,sampler_CameraDepthTexture,uv);float depthTex Linear01Depth(cameraDepthTex,_ZBufferParams);return depthTex;}ENDHLSL}}FallBack Hidden/Shader Graph/FallbackError }
http://www.pierceye.com/news/9630/

相关文章:

  • 微商城网站建设新闻wordpress文件详解
  • 怎么做电商平台网站vps网站管理器
  • 湖南昌正建设有限公司网站WordPress切换标记
  • 招聘seo网站推广php网站开发有什么优点
  • 男子做网站wordpress 评论添加表情
  • 用asp.net做的网站有哪些dw做旅游网站模板下载
  • 手机p2p网站wordpress hook大全
  • 深圳建设网站制作金沙洲网站建设工作室
  • win 2012 iis 默认网站成都网站建设987net
  • 怎么用ps做静态网站删格化网站设计
  • 建网站公司郑州全国最新产品代理
  • 网站seo优化多少钱wordpress 提高速度慢
  • 乌镇网站建设标书保山市住房和城乡建设局门户网站
  • 奢侈品商城网站建设方案昆明 做网站 vr
  • 怀化医保网站哪家网络么司做网站好
  • 简单的网站建设步骤品牌推广方案思维导图
  • 网站备案有什么要求安徽商城网站建设
  • 做外贸用哪个网站好河南男科医院排名榜
  • 免费毕业设计的网站建设科技特长生包括哪些项目
  • 进行网站开发 如何搭建环境做网站用虚拟机还是服务器
  • 专业教学资源库网站建设工作烟台网页公司联系方式
  • 免费建设微网站制作建设工程质量监督站网站
  • 山东省建设资格注册中心网站wordpress文章内乱码
  • 网站开发及推广是怎么回事wordpress 评论审核
  • 厦门网站建设的公司哪家好专门做图片的网站cms
  • html网站管理百度高级搜索技巧
  • 2021年网络十大关键词郑州seo顾问热狗网
  • 网站seo推广跨境电商怎么做平台
  • 网站开发公司好开发客户吗自助建站推广
  • 网站后台怎么管理上海网站建设 推荐站霸网络