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

购物网站排行网页游戏开服表怎么关闭

购物网站排行,网页游戏开服表怎么关闭,医院网站的建设,网站域名怎么缴费文章目录 前言一、精简 ShaderGraph 所有冗余代码后的最简 URP Shader二、我们来对比一下 URP Shader 与 BuildInRP Shader 的对应关系 与 区别1、"RenderPipeline""UniversalPipeline"2、面片剔除、深度测试、深度写入、颜色混合 和 BRP 下一致3、必须引入…

文章目录

  • 前言
  • 一、精简 ShaderGraph 所有冗余代码后的最简 URP Shader
  • 二、我们来对比一下 URP Shader 与 BuildInRP Shader 的对应关系 与 区别
    • 1、"RenderPipeline"="UniversalPipeline"
    • 2、面片剔除、深度测试、深度写入、颜色混合 和 BRP 下一致
    • 3、必须引入的库变了
    • 4、顶点着色器输入
    • 5、片元着色器输入
    • 6、顶点着色器
    • 7、片元着色器
    • 8、变量类型变化
    • 最终效果


前言

在上篇文章中,我们主要把 ShaderGraph 转化为 URP Shader,并进行了最简化。在这篇文章中,我们来解析一下 URP 最简 Shader 中做了什么。

  • Unity中Shader URP最简Shader框架(ShaderGraph 转 URP Shader)

一、精简 ShaderGraph 所有冗余代码后的最简 URP Shader

Shader "MyShader/URP/P2_10"
{Properties {}SubShader{Tags{//告诉引擎,该Shader只用于 URP 渲染管线"RenderPipeline"="UniversalPipeline"//渲染类型"RenderType"="Opaque"//渲染队列"Queue"="Geometry"}Pass{Name "Universal Forward"Tags{// LightMode: <None>}Cull BackBlend One ZeroZTest LEqualZWrite OnHLSLPROGRAM#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/Input.hlsl"//struct appdata//顶点着色器的输入struct Attributes{float3 positionOS : POSITION;};//struct v2f//片元着色器的输入struct Varyings{float4 positionCS : SV_POSITION;};//v2f vert(Attributes v)//顶点着色器Varyings vert(Attributes v){Varyings o = (Varyings)0;float3 positionWS = TransformObjectToWorld(v.positionOS);o.positionCS = TransformWorldToHClip(positionWS);return o;}//fixed4 frag(v2f i) : SV_TARGET//片元着色器half4 frag(Varyings i) : SV_TARGET{half4 c;c.rgb = 0.5;c.a = 1;return c;}ENDHLSL}}FallBack "Hidden/Shader Graph/FallbackError"
}

二、我们来对比一下 URP Shader 与 BuildInRP Shader 的对应关系 与 区别

1、“RenderPipeline”=“UniversalPipeline”

  • 这句代码告诉Unity,我们Shader是用于哪一个渲染管线下的

2、面片剔除、深度测试、深度写入、颜色混合 和 BRP 下一致

3、必须引入的库变了

  • BRP

#include “UnityCG.cginc”

  • URP

#include “Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl”
#include “Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl”

4、顶点着色器输入

//struct appdata
//顶点着色器的输入
struct Attributes
{
float3 positionOS : POSITION;
};

  • Attributes : appdata
  • positionOS : position
  • normalOS : normal
  • tangentOS : tangent

5、片元着色器输入

//片元着色器的输入
struct Varyings
{
float4 positionCS : SV_POSITION;
};

  • Varyings : v2f
  • positionCS : position 在齐次裁剪坐标系下的顶点坐标

6、顶点着色器

//v2f vert(Attributes v)
//顶点着色器
Varyings vert(Attributes v)
{
Varyings o = (Varyings)0;
float3 positionWS = TransformObjectToWorld(v.positionOS);
o.positionCS = TransformWorldToHClip(positionWS);
return o;
}

  • Varyings vert(Attributes v) : v2f vert(Attributes v)
  • TransformObjectToWorld : mul(unity_ObjectToWorld,v.vertex)
  • TransformWorldToHClip : UnityObjectToClipPos(v.vertex)

7、片元着色器

//fixed4 frag(v2f i) : SV_TARGET
//片元着色器
half4 frag(Varyings i) : SV_TARGET
{
half4 c;
c.rgb = 0.5;
c.a = 1;
return c;
}

  • half4 frag(Varyings i) : fixed4 frag(v2f i)

8、变量类型变化

剔除了 fixed 类型变量

只保留:

  • float类型:一般用于 坐标 和 位置 信息存储
  • half类型:一般用于 颜色 这些精度较小的值

最终效果

在这里插入图片描述

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

相关文章:

  • 建站服务网络公司做网站应怎么缴税
  • 做网站一万昆山做网站多少钱
  • 网站开发团队 需要哪些角色网页设计论文的研究内容
  • 做散热网站openssl 3漏洞补丁
  • 网站关键词几个最好中信建设有限责任公司发债公告
  • 网站建设招标书模板网站建设的内容有哪些
  • 常州百度网站排名政务网站建设的方向
  • 淘宝官网首页网站自己在线制作logo免费广告招牌
  • 网页设计购物网站建设做电影网站涉及的侵权问题
  • 沈阳专门做网站在线crm网站建站
  • 营销型网站深度网网站建设费用细项
  • 做网站 需求安徽设计公司排名
  • 网页模板下载哪个网站好平面素材设计网站
  • 南京移动网站建设哪里强云平台网站开发
  • wordpress多站点是什么广东省自然资源厅胡建斌
  • 律师行业做网站的必要性专业做网站公司怎么样
  • 成品网站w在线观看网络规划设计师大纲是不是变了
  • 格尔木市住建和城乡建设局网站网站建设设计公司+知乎
  • 手游传奇新开服网站重庆seo网站推广工具
  • 怎么选择顺德网站建设帮人做任务的网站
  • 北京学做网站网站 位置导航
  • 在ppt里面做网站链接微信开发商是谁
  • 电子商务网站建设及其相关法律问题东莞公司网站制作要多少钱
  • python 做的网站有哪些赣州北京网站建设
  • 网站做百度推广吗昆明网站运营公司有哪些
  • 环艺做网站做不做生意都要知道的网站
  • 西安网站公司推广下载小程序
  • 网站做seo推广永嘉营销网站建设
  • 如何做竞价网站取名网站怎么做
  • 网络营销与管理海南短视频搜索seo哪家实惠