当前位置: 首页 > 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.15wanjia.com/news/189956.html

相关文章:

  • 南通做网站厉害的企业网站的网址有哪些
  • 房地产类的网站建设广州代理注册公司
  • 做网站前产品经理要了解什么印刷厂网站源码
  • 中国铁路建设投资公司网站页面设计的突出主体原则
  • 网站建设与管理专业好吗server wordpress
  • 爱站网关键词挖掘查询工具安徽网站设计方案
  • 优秀响应式网站苏州在线网站制作
  • 做网站app价格多少钱哪些网站上可以做租车
  • 增城建设局网站新乡网站建设策划
  • 合肥网站开发公司电话嘉兴自助建站软件
  • 扬中市建设局网站有没有哪个网站免费做简历的
  • 建设网站的一般过程园林景观设计公司利润
  • 做机械设备哪个网站好长沙品牌网站设计
  • 网上做分销代销哪个网站好安溪县住房和城乡建设网站
  • 门户网站快速制作做标签网站是什么样的
  • 汉川网站建设wordpress 类似的
  • 织梦同时运行多个网站噼哩噼哩pilipili污染版
  • 网页设计精品课程网站三维家
  • 手机网站 代码wordpress怎么汉化插件
  • 局域网网站建设工具购物网站主页设计图
  • 网站后台 模板互联网技术论文
  • 常见的网站建设程序有哪些手机wap网站模板
  • 一级域名做网站的好处项目建设背景是什么
  • 广州网站设计成功柚米科技江苏建设厅官方网站安全员
  • 移动网站建设渠道页面升级自动跳转
  • 两学一做材料上哪个网站找成都彩票网站开发
  • 建立自己的网站用花钱吗app开发需要什么资源和团队
  • 谷歌官方网站注册青岛制作网站的
  • 职高门户网站建设标准微信做购物网站怎么抽佣
  • 做网站字体大小做网站多少钱_西宁君博优选