位置: 编程技术 - 正文

Unity3d Shader开发(三)Pass(Culling & Depth Testing)(unity shader cull off)

编辑:rootadmin
剔除是一种通过避免渲染背对观察者的几何体面来提高性能的优化措施。所有几何体都包含正面和反面。剔除基于大多数对象都是封闭的事实;如果你有一个立方体,你不会看到背离你的那一面(总是只有一面在你的前方),因此我们不需要绘制出背面。因此也被称做背面剔除。 该文章出自【狗刨学习网】 另一个使得渲染看起来正确的是深度测试。深度测试确保只有场景内的对象的最靠近的表面参与绘制。Syntax 语法Cull Back | Front | Off控制几何体的那一面会被剔除(不绘制) Back 不绘制背离观察者的几何体面。 Front 不绘制面向观察者的几何体面,用于由内自外的旋转对象 Off 显示所有面。用于特殊效果。ZWrite On | Off 控制是否将来之对象的像素写入深度缓冲(默认开启),如果你正绘制纯色物体,将此项打开。如果你正绘制半透明效果,关闭深度缓冲,更多细节如下ZTest Less | Greater | LEqual | GEqual | Equal | NotEqual | Always 深度测试如何执行。缺省是LEqual (绘制和存在的对象一致或是在其中的对象;隐藏他们背后的对象)Offset Factor , Units 允许你定义用两个参数深度偏移。因子和单位。Factor 缩放Z的最大斜率,几何体的X和Y也一样,units缩放可计算的深度缓冲&#;。这允许你迫使一个几何体绘制在另一个的上层,尽管他们实际上是在同一个位置。例如偏移0,-1使得靠近摄像机的几何体忽略几何体的斜率,而偏移-1,-1则会几何体在一个几乎擦过的角度被观察使看起来更近些。示例 这个对象只会渲染对象的背面。Shader "Show Insides" { SubShader { Pass { Material { Diffuse (0,1,1,1) } Lighting On Cull Front } }}复制代码 我把太阳光正对着摄像机,Cube正对摄像机 尽量应用到一个立方体上,并注意当你围绕几何体旋转时,几何体是如何看起来变糟糕的。 这是因为你只看见了立方体的内部部分。玻璃剔除 控制剔除比背面调试更有用。如果你有透明物体,你经常会想要显示一个对象的背面。如果你不做任何剔除,你会发现有时常有一部分背面会覆盖在前面的一部分上。 下面是一个用于凸物体(球,立方体,车窗)的简单着色器。Shader "Simple Glass" { Properties { _Color ("Main Color", Color) = (1,1,1,0) _SpecColor ("Spec Color", Color) = (1,1,1,1) _Emission ("Emmisive Color", Color) = (0,0,0,0) _Shininess ("Shininess", Range (0., 1)) = 0.7 _MainTex ("Base (RGB)", 2D) = "white" { } } SubShader { // We use the material in many passes by defining them in the subshader. // 我们通过把定义放在子着色器中以便可以在许多通道中访问材质 // Anything defined here becomes default values for all contained passes. // 任何定义在这里的&#;都会变成所有内含的通道的默认&#; Material { Diffuse [_Color] Ambient [_Color] Shininess [_Shininess] Specular [_SpecColor] Emission [_Emission] } Lighting On SeparateSpecular On // Set up alpha blending // 开启透明度混合 Blend SrcAlpha OneMinusSrcAlpha // Render the back facing parts of the object. // 渲染对象的背面部分 // If the object is convex, these will always be further away // 如果对象是凸, 总是离镜头离得比前面更远。 // than the front-faces. Pass { Cull Front SetTexture [_MainTex] { Combine Primary * Texture } } // Render the parts of the object facing us. // 渲染对象面向我们的部分 // If the object is convex, these will be closer than the // back-faces. // 如果对象是凸,总是比背面更靠近镜头 Pass { Cull Back SetTexture [_MainTex] { Combine Primary * Texture } } }}复制代码 剔除是一种通过避免渲染背对观察者的几何体面来提高性能的优化措施。所有几何体都包含正面和反面。剔除基于大多数对象都是封闭的事实;如果你有一个立方体,你不会看到背离你的那一面(总是只有一面在你的前方),因此我们不需要绘制出背面。因此也被称做背面剔除。 该文章出自【狗刨学习网】 另一个使得渲染看起来正确的是深度测试。深度测试确保只有场景内的对象的最靠近的表面参与绘制。Syntax 语法Cull Back | Front | Off控制几何体的那一面会被剔除(不绘制) Back 不绘制背离观察者的几何体面。 Front 不绘制面向观察者的几何体面,用于由内自外的旋转对象 Off 显示所有面。用于特殊效果。ZWrite On | Off 控制是否将来之对象的像素写入深度缓冲(默认开启),如果你正绘制纯色物体,将此项打开。如果你正绘制半透明效果,关闭深度缓冲,更多细节如下ZTest Less | Greater | LEqual | GEqual | Equal | NotEqual | Always 深度测试如何执行。缺省是LEqual (绘制和存在的对象一致或是在其中的对象;隐藏他们背后的对象)Offset Factor , Units 允许你定义用两个参数深度偏移。因子和单位。Factor 缩放Z的最大斜率,几何体的X和Y也一样,units缩放可计算的深度缓冲&#;。这允许你迫使一个几何体绘制在另一个的上层,尽管他们实际上是在同一个位置。例如偏移0,-1使得靠近摄像机的几何体忽略几何体的斜率,而偏移-1,-1则会几何体在一个几乎擦过的角度被观察使看起来更近些。示例 这个对象只会渲染对象的背面。Shader "Show Insides" { SubShader { Pass { Material { Diffuse (0,1,1,1) } Lighting On Cull Front } }}复制代码 我把太阳光正对着摄像机,Cube正对摄像机 尽量应用到一个立方体上,并注意当你围绕几何体旋转时,几何体是如何看起来变糟糕的。 这是因为你只看见了立方体的内部部分。玻璃剔除 控制剔除比背面调试更有用。如果你有透明物体,你经常会想要显示一个对象的背面。如果你不做任何剔除,你会发现有时常有一部分背面会覆盖在前面的一部分上。 下面是一个用于凸物体(球,立方体,车窗)的简单着色器。Shader "Simple Glass" { Properties { _Color ("Main Color", Color) = (1,1,1,0) _SpecColor ("Spec Color", Color) = (1,1,1,1) _Emission ("Emmisive Color", Color) = (0,0,0,0) _Shininess ("Shininess", Range (0., 1)) = 0.7 _MainTex ("Base (RGB)", 2D) = "white" { } } SubShader { // We use the material in many passes by defining them in the subshader. // 我们通过把定义放在子着色器中以便可以在许多通道中访问材质 // Anything defined here becomes default values for all contained passes. // 任何定义在这里的&#;都会变成所有内含的通道的默认&#; Material { Diffuse [_Color] Ambient [_Color] Shininess [_Shininess] Specular [_SpecColor] Emission [_Emission] } Lighting On SeparateSpecular On // Set up alpha blending // 开启透明度混合 Blend SrcAlpha OneMinusSrcAlpha // Render the back facing parts of the object. // 渲染对象的背面部分 // If the object is convex, these will always be further away // 如果对象是凸, 总是离镜头离得比前面更远。 // than the front-faces. Pass { Cull Front SetTexture [_MainTex] { Combine Primary * Texture } } // Render the parts of the object facing us. // 渲染对象面向我们的部分 // If the object is convex, these will be closer than the // back-faces. // 如果对象是凸,总是比背面更靠近镜头 Pass { Cull Back SetTexture [_MainTex] { Combine Primary * Texture } } }}复制代码

推荐整理分享Unity3d Shader开发(三)Pass(Culling & Depth Testing)(unity shader cull off),希望有所帮助,仅作参考,欢迎阅读内容。

Unity3d Shader开发(三)Pass(Culling & Depth Testing)(unity shader cull off)

文章相关热门搜索词:unity的shader用法,unity shader cull off,unity shader cull off,unity shader cull off,unity shader cull off,unity shader lod,unity shader lod,unity shader cull off,内容如对您有帮助,希望把文章链接给更多的朋友!

unity下glsl双面抖动SHADER。 ShaderCustom/move_glsl{Properties{_MainTex(Base(RGB),2D)=white{}_Speed(MoveSpeed,Range(0,3))=1}SubShader{Tags{RenderType=Opaque}LODPass{CullfrontGLSLPROGRAM#ifdefVERTEX#includeUnityCG.glslincunifor

Unity Assets目录下的特殊文件夹名称 UnityAssets目录下的特殊文件夹名称首先说明这篇文章是在贴吧中找到的并不是本人编写的文章。1.隐藏文件夹开头的文件夹会被Unity忽略。在这种文件夹

Unity中关于保存图片到Android/IOS相册中的问题 我们在一些项目中可能需要截图保存功能(特别是AR的一些项目),将截下来的图保存的相册中,从而实现分享功能。下面就Android和IOS说一下他们是如

标签: unity shader cull off

本文链接地址:https://www.jiuchutong.com/biancheng/381495.html 转载请保留说明!

上一篇:熟悉MonoBehaviour的函数和其执行顺序(熟悉的拼音)

下一篇:unity下glsl双面抖动SHADER。(unity双面材质)

  • 个税汇算清缴怎么把全年一次性奖金并入综合所得
  • 什么叫做供应链公司
  • 商品进销差价在贷方代表什么
  • 厂房设计费计入在建工程吗
  • 金蝶数量金额式明细账怎么查看
  • 广告公司如何经营管理
  • 特许权使用费增值税征收品目
  • 个体户国税异常怎么办
  • 企业所得税前列支的费用
  • 加工费发票怎么做账务处理
  • 合同签了发票开了钱没给怎么办
  • 增值税发票过期未认证怎么办
  • 小规模企业残疾人免税政策
  • 服务行业也有合伙人吗
  • 简易计税 增值税专用发票
  • 保安服务费可以开具专票吗
  • 消费税有哪几种纳税方式
  • 固定资产房屋折旧年限及残值
  • 企业为什么要缴纳增值税
  • 水利工程建设费用组成
  • 地铁充值发票会透露个人账户信息吗
  • 支付境外关联方借款利息需要的
  • 运费收入会计处理
  • 计提法定盈余公积分录并结转
  • 业务招待住宿费发票可以抵扣进项税吗
  • 股票属于以下哪一类金融工具
  • win10应用商店没有软件库
  • ajax无刷新技术
  • php判断https
  • 员工福利费会计处理
  • 事业单位财产清查怎么进行
  • 结存材料实际成本例题
  • php excute
  • 知识产权作用
  • 达摩院 2021
  • 自然语言处理算法
  • linux执行php脚本
  • 平价股权转让还需要所得税吗
  • 销售产品用什么词形容
  • php接口技术
  • mysql自动生成id
  • 企业进出口贸易
  • 挂靠到运输公司的车转让给个人如何交增值税
  • 开票资料更改
  • 公司申请破产后债务谁来还
  • 银行借记和贷记一样吗
  • 电商收服务费合法吗
  • 增值税的视同销售行为都有哪些?
  • 房地产会计开发工资高吗
  • 年收益率与年化利率是一样?
  • 委托代销受托方会计分录
  • 税控盘抄报税逾期怎么办
  • 加计扣除所得税怎么算
  • 多缴的印花税怎么抵下次税费
  • 成本利润率多少是正常的
  • 公司名下没有车可以办油卡吗
  • 投标保证金以现金形式转为履约保证金
  • 进项增值税发票抵扣期限
  • 基建待摊费用如何分摊
  • 固定资产改建支出的扣除规定
  • 企业资质证书丢失怎么办
  • 64位Win10系统安装Mysql5.7.11的方法(案例详解)
  • c3p0连接池提供了哪些方式来配置连接池的参数
  • win7自带拍照功能
  • 两台mac怎么同步
  • windows 水印
  • win7系统删除ie浏览器
  • win10天气系统怎么弄掉
  • shell脚本编写 方法
  • 如何获得select选中的值
  • 安卓api中文手册
  • 夯实基础怎么读
  • jQuery使用animate实现ul列表项相互飘动效果示例
  • 中国移动怎么下载账单
  • 美国税务制度
  • 江苏省地方税务局网上办税
  • 精准扶贫有哪些分类措施
  • 云南省国家税务总局处长名单
  • 开票系统红色预警情况说明怎么写
  • 江苏电子口岸卡邮寄大概需要多久
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设