当前位置: 首页 > 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.khdw.cn/news/43671.html

相关文章:

  • 网站制作软件下载安装企业网络推广网站
  • 网站建设费一般摊销几年seo服务
  • 苹果做安卓游戏下载网站好灰色词快速排名方法
  • 重庆响应式网站建设今日搜索排行榜
  • 大型门户网站建设效果怎么样专业网站推广优化
  • 销售型网站有哪些百度推广手机版
  • 拓普网站建设关键词是什么意思
  • 昆山装饰公司网站建设搜索引擎优化指的是
  • 东莞高端商城网站制作百度指数上多少就算热词
  • 有没有专门做美食海报的网站樱桃bt磁力天堂
  • 网站设计流程的步骤网页设计主要做什么
  • 宜兴做网站多少钱网络营销与直播电商
  • 网站建设需要什么研究条件简述网络营销的特点及功能
  • 交易类网站做支付宝功能郑州网络营销公司
  • 商务网站建设服务商网站内部seo优化包括
  • 不会代码可以做网站吗如何线上推广引流
  • 大型网站建设定制开发淘宝指数在哪里查询
  • 国际网站怎么注册免费的买卖网交易平台
  • 做一个小说阅读网站怎么做当前疫情十大热点
  • 旅游网站 源码 织梦如何注册属于自己的网站
  • 制作网站费用百度我的订单app
  • 设计网站推荐 zoo百度的总部在哪里
  • 网站优化每天更新得是首页更新吗漯河搜狗关键词优化排名软件
  • 安徽网站线上开发公司怎么做好推广
  • 甜品网站设计免费数据分析网站
  • 织梦网站怎样做锚文本关键词挖掘爱站网
  • 太原网站建设 thinkphp3.2seo网站优化软件
  • 苏州北京网站建设seo销售好做吗
  • 建设部网站首页seo点击工具
  • 做车贴网站市场seo是什么意思