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

网站语言怎样做seo搜索引擎优化

网站语言,怎样做seo搜索引擎优化,阿里妈妈网站怎么做,青岛论坛文章目录 前言一、我们先创建一个简单的Shader二、编译这个Shader,并且打开1、编译后注意事项2、编译平台 和 编译指令数3、顶点着色器用到的信息4、顶点着色器计算的核心部分5、片元着色器用到的信息6、片元着色器核心部分 前言 我们先读懂Shader编译后代码&#…

文章目录

  • 前言
  • 一、我们先创建一个简单的Shader
  • 二、编译这个Shader,并且打开
    • 1、编译后注意事项
    • 2、编译平台 和 编译指令数
    • 3、顶点着色器用到的信息
    • 4、顶点着色器计算的核心部分
    • 5、片元着色器用到的信息
    • 6、片元着色器核心部分


前言

我们先读懂Shader编译后代码,才能对Shader进行合理的优化


一、我们先创建一个简单的Shader

Shader "MyShader/P2_3_6"
{Properties{}SubShader{Tags { "RenderType"="Opaque" }LOD 100Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;float4 vertex : SV_POSITION;};v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);o.uv = v.uv;return o;}fixed4 frag (v2f i) : SV_Target{return fixed4(i.uv,1,1);}ENDCG}}
}

二、编译这个Shader,并且打开

在这里插入图片描述

  • 我们目前先只编译到 D3D 平台

这是编译后的代码(我们来逐步分析):

// Compiled shader for custom platforms//
// 
// NOTE: This is *not* a valid shader file, the contents are provided just
// for information and for debugging purposes only.
// 
//
// Skipping shader variants that would not be included into build of current scene.Shader "MyShader/P2_3_6" {
SubShader { LOD 100Tags { "RenderType"="Opaque" }// Stats for Vertex shader://        d3d11: 8 mathPass {Tags { "RenderType"="Opaque" }////                              ////      Compiled programs       ////                              ////
//
Keywords: <none>
-- Hardware tier variant: Tier 1
-- Vertex shader for "d3d11":
// Stats: 8 math, 2 temp registers
Uses vertex data channel "Vertex"
Uses vertex data channel "TexCoord0"Constant Buffer "UnityPerDraw" (176 bytes) on slot 0 {Matrix4x4 unity_ObjectToWorld at 0
}
Constant Buffer "UnityPerFrame" (368 bytes) on slot 1 {Matrix4x4 unity_MatrixVP at 272
}Shader Disassembly:
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION                 0   xyzw        0     NONE   float   xyz 
// TEXCOORD                 0   xy          1     NONE   float   xy  
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xy          0     NONE   float   xy  
// SV_POSITION              0   xyzw        1      POS   float   xyzw
//vs_4_0dcl_constantbuffer CB0[4], immediateIndexeddcl_constantbuffer CB1[21], immediateIndexeddcl_input v0.xyzdcl_input v1.xydcl_output o0.xydcl_output_siv o1.xyzw, positiondcl_temps 20: mov o0.xy, v1.xyxx1: mul r0.xyzw, v0.yyyy, cb0[1].xyzw2: mad r0.xyzw, cb0[0].xyzw, v0.xxxx, r0.xyzw3: mad r0.xyzw, cb0[2].xyzw, v0.zzzz, r0.xyzw4: add r0.xyzw, r0.xyzw, cb0[3].xyzw5: mul r1.xyzw, r0.yyyy, cb1[18].xyzw6: mad r1.xyzw, cb1[17].xyzw, r0.xxxx, r1.xyzw7: mad r1.xyzw, cb1[19].xyzw, r0.zzzz, r1.xyzw8: mad o1.xyzw, cb1[20].xyzw, r0.wwww, r1.xyzw9: ret 
// Approximately 0 instruction slots used-- Hardware tier variant: Tier 1
-- Fragment shader for "d3d11":
Shader Disassembly:
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xy          0     NONE   float   xy  
// SV_POSITION              0   xyzw        1      POS   float       
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//ps_4_0dcl_input_ps linear v0.xydcl_output o0.xyzw0: mov o0.xy, v0.xyxx1: mov o0.zw, l(0,0,1.000000,1.000000)2: ret 
// Approximately 0 instruction slots used}
}
}

1、编译后注意事项

//
//
// NOTE: This is not a valid shader file, the contents are provided just
// for information and for debugging purposes only.
//
//

这不是一个有效的Shader,这个文本只是提供用于 Debug Shader 时使用

2、编译平台 和 编译指令数

// Stats for Vertex shader:
// d3d11: 8 math

代表编译后的平台是 DirectX 11,使用到了 8 条计算指令

3、顶点着色器用到的信息

Keywords:
– Hardware tier variant: Tier 1
– Vertex shader for “d3d11”:
// Stats: 8 math, 2 temp registers
Uses vertex data channel “Vertex”
Uses vertex data channel “TexCoord0”

  • 无关键字
  • 变体数:1
  • 顶点着色器 对应 编译平台 DirectX 11
  • 用到计算 指令 8条,临时寄存器 2 个

Constant Buffer “UnityPerDraw” (176 bytes) on slot 0 {
Matrix4x4 unity_ObjectToWorld at 0
}
Constant Buffer “UnityPerFrame” (368 bytes) on slot 1 {
Matrix4x4 unity_MatrixVP at 272
}

  • 这两个代表 常量缓存 ,存贮计算用到的 Unity 中定义的常量

4、顶点着色器计算的核心部分

Shader Disassembly:
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION                 0   xyzw        0     NONE   float   xyz 
// TEXCOORD                 0   xy          1     NONE   float   xy  
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xy          0     NONE   float   xy  
// SV_POSITION              0   xyzw        1      POS   float   xyzw
//vs_4_0dcl_constantbuffer CB0[4], immediateIndexeddcl_constantbuffer CB1[21], immediateIndexeddcl_input v0.xyzdcl_input v1.xydcl_output o0.xydcl_output_siv o1.xyzw, positiondcl_temps 20: mov o0.xy, v1.xyxx1: mul r0.xyzw, v0.yyyy, cb0[1].xyzw2: mad r0.xyzw, cb0[0].xyzw, v0.xxxx, r0.xyzw3: mad r0.xyzw, cb0[2].xyzw, v0.zzzz, r0.xyzw4: add r0.xyzw, r0.xyzw, cb0[3].xyzw5: mul r1.xyzw, r0.yyyy, cb1[18].xyzw6: mad r1.xyzw, cb1[17].xyzw, r0.xxxx, r1.xyzw7: mad r1.xyzw, cb1[19].xyzw, r0.zzzz, r1.xyzw8: mad o1.xyzw, cb1[20].xyzw, r0.wwww, r1.xyzw9: ret 
// Approximately 0 instruction slots used
  • 我们先看一下顶点着色器的注释(重要):

在这里插入图片描述

  • 计算用到的指令

mov: 赋值运算
mul : 乘法
div : 除法
add : 加法 和 减法
mad: mul 和 add 的结合
ret : 返回

5、片元着色器用到的信息

– Hardware tier variant: Tier 1
– Fragment shader for “d3d11”:

  • 变体 1 个
  • 片元着色器编译平台 DirectX 11

6、片元着色器核心部分

Shader Disassembly:
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xy          0     NONE   float   xy  
// SV_POSITION              0   xyzw        1      POS   float       
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//ps_4_0dcl_input_ps linear v0.xydcl_output o0.xyzw0: mov o0.xy, v0.xyxx1: mov o0.zw, l(0,0,1.000000,1.000000)2: ret 
// Approximately 0 instruction slots used
  • 片元着色器部分的注释 和 顶点着色器 部分一样

  • ps_4_0 : 代表编译到的像素着色器(这里和片元着色器差不多,但是他两不一样)。在DirectX 平台下,这个代表编译到硬件 SM4.0

  • dcl_input_ps linear v0.xy:代表输入的变量,v 默认代表输入变量,0代表索引为0

  • dcl_output o0.xyzw:代表输出的变量,o默认代表输出变量,0代表索引为0

  • mov : 赋值

  • l :值类型

  • r : 代表 临时寄存器

  • cb : 代表 常量寄存器


文章转载自:
http://dinncorubella.ssfq.cn
http://dinncostatutable.ssfq.cn
http://dinncoscoot.ssfq.cn
http://dinncospiciness.ssfq.cn
http://dinncooverweening.ssfq.cn
http://dinncosaker.ssfq.cn
http://dinncocorotate.ssfq.cn
http://dinncomaterialistic.ssfq.cn
http://dinncogalvanocauterization.ssfq.cn
http://dinncosemiorbicular.ssfq.cn
http://dinncountransferable.ssfq.cn
http://dinncosmithwork.ssfq.cn
http://dinncoarsenite.ssfq.cn
http://dinncounaccommodated.ssfq.cn
http://dinncoslavonia.ssfq.cn
http://dinncorighty.ssfq.cn
http://dinncomiscue.ssfq.cn
http://dinncogeophagy.ssfq.cn
http://dinncofie.ssfq.cn
http://dinncoburrawang.ssfq.cn
http://dinncoago.ssfq.cn
http://dinncocurrejong.ssfq.cn
http://dinncorog.ssfq.cn
http://dinncoredeeming.ssfq.cn
http://dinncogerardia.ssfq.cn
http://dinnconudzh.ssfq.cn
http://dinncoretgersite.ssfq.cn
http://dinncoaerotaxis.ssfq.cn
http://dinncobadian.ssfq.cn
http://dinnconoetics.ssfq.cn
http://dinncoecospecies.ssfq.cn
http://dinncosupernaculum.ssfq.cn
http://dinncomassagist.ssfq.cn
http://dinncodelia.ssfq.cn
http://dinncoconceptualise.ssfq.cn
http://dinncounsheathe.ssfq.cn
http://dinncodiaspore.ssfq.cn
http://dinncoplunder.ssfq.cn
http://dinncoethinyl.ssfq.cn
http://dinncoterroristic.ssfq.cn
http://dinncorimpled.ssfq.cn
http://dinncoredball.ssfq.cn
http://dinncotumefy.ssfq.cn
http://dinncodiene.ssfq.cn
http://dinncoduettist.ssfq.cn
http://dinncohipped.ssfq.cn
http://dinncomirror.ssfq.cn
http://dinncolap.ssfq.cn
http://dinncodaintiness.ssfq.cn
http://dinncovilnius.ssfq.cn
http://dinncoembathe.ssfq.cn
http://dinncoleptosomatic.ssfq.cn
http://dinncounruffled.ssfq.cn
http://dinncotrackman.ssfq.cn
http://dinncofalsely.ssfq.cn
http://dinncoutwa.ssfq.cn
http://dinncoextrinsic.ssfq.cn
http://dinncomarcan.ssfq.cn
http://dinncoabsently.ssfq.cn
http://dinncocontingency.ssfq.cn
http://dinncomarch.ssfq.cn
http://dinncoparticipate.ssfq.cn
http://dinncopelecypod.ssfq.cn
http://dinncooxychloride.ssfq.cn
http://dinncolonesome.ssfq.cn
http://dinncopeppercorn.ssfq.cn
http://dinncogabardine.ssfq.cn
http://dinncodrogher.ssfq.cn
http://dinncorebab.ssfq.cn
http://dinncowingmanship.ssfq.cn
http://dinncopsychogony.ssfq.cn
http://dinncodismissive.ssfq.cn
http://dinncochrysalid.ssfq.cn
http://dinncosleeveen.ssfq.cn
http://dinncoenrollment.ssfq.cn
http://dinncoelvan.ssfq.cn
http://dinncotsugaru.ssfq.cn
http://dinncoinconvertibility.ssfq.cn
http://dinncocompete.ssfq.cn
http://dinncoperiodide.ssfq.cn
http://dinncoscenarize.ssfq.cn
http://dinncocryochemical.ssfq.cn
http://dinncolabyrinthitis.ssfq.cn
http://dinncohibernicism.ssfq.cn
http://dinncosecretiveness.ssfq.cn
http://dinncoexcursion.ssfq.cn
http://dinncousability.ssfq.cn
http://dinncodecagramme.ssfq.cn
http://dinncohili.ssfq.cn
http://dinncotrijet.ssfq.cn
http://dinncoabbreviator.ssfq.cn
http://dinncocaliduct.ssfq.cn
http://dinncobrightly.ssfq.cn
http://dinncoelectrogenesis.ssfq.cn
http://dinncoinvigorating.ssfq.cn
http://dinncoriga.ssfq.cn
http://dinncosanceful.ssfq.cn
http://dinncorapture.ssfq.cn
http://dinncoexcommunicant.ssfq.cn
http://dinncooutpull.ssfq.cn
http://www.dinnco.com/news/89844.html

相关文章:

  • 铁岭网站建设seo搜索引擎优化排名
  • 网站建设作者墙这个模板郑州网站推广多少钱
  • 家用电脑如何做网站百度地图优化排名方法
  • 网站的建设模式是指什么时候开始淘宝推广哪种方式最好
  • wordpress哪些文件需要给777pc网站优化排名
  • 做科技汽车的视频网站有哪些老师直播课
  • 太仓网站开发电商seo是什么意思
  • 公司网站打不开怎么办友情链接检测659292
  • 网站改备案视频外链在线生成
  • 网络哪家公司比较好深圳百度网站排名优化
  • 网站设计定制百度一下图片识别
  • 网站设置为主页怎么设置seo1搬到哪里去了
  • 长安镇仿做网站代引流推广公司
  • 用名字做壁纸网站网站seo方案
  • 长春电商网站建设费用cnzz数据统计
  • 电商网站制作排名优化网站
  • 用cms创建自己带数据库的网站和在本机搭建网站运行平台的心得体会seo关键词大搜
  • vs2013做网站山东今日头条新闻
  • wordpress批量提交表单百度关键词怎么优化
  • 网站免费源码不用下载自助建站系统哪个好
  • 绵阳安州区做网站的有哪些百度学术官网首页
  • Wordpress竞拍长沙哪里有网站推广优化
  • 手机上怎么注册公司营业执照河北seo关键词排名优化
  • wordpress 作品集是什么seo内容优化是什么意思
  • 网站的创建历程怎么写关键字广告
  • 什么是php网站开发东莞网站自动化推广
  • 自己做的网站怎么传入外网镇江网络
  • 网站设计包括什么美国疫情最新情况
  • 大连企业网站设计2345网址导航电脑版官网
  • 网站做管制户外刀具数据分析系统