位置: 编程技术 - 正文

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双面材质)

  • 如何进行增值税发票认证
  • 增值税进项税是多少
  • 电子承兑汇票兑现
  • 土地使用权契税入账会计分录
  • 市内打车费计入差旅费吗
  • 利息支出可以抵扣吗
  • 小微企业条件2018
  • 耕地占用税的纳税人是谁
  • 工程技术服务费和技术服务费
  • 企业购买的黄金计入什么科目
  • 代理销售保险
  • 公司房产出租租金如何开票?
  • 跨年错误分录能红冲吗
  • 房贷可以抵个人所得税吗
  • 进项多销项少
  • 发票月初抄税流程
  • 工程款主营业务成本
  • 酒店收到物品损失怎么办
  • 企业所得税一季度盈利二季度亏损
  • 债权债务重组公司
  • 内部交易逆流如何算利润
  • 个贷系统平帐专户A
  • NEC笔记本电脑开机启动热键
  • 在电脑中设置一键换机
  • 暂估入库怎么暂估
  • 无法打开exe程序
  • Windows10屏幕键盘在哪
  • 其他应付款不用付了怎么处理
  • EasyExcel使用与步骤
  • php获取文本内容
  • 死亡谷景点
  • php ajax 教程
  • vue3封装axios
  • php返回数据给ajax
  • 金税盘维护费抵税会计分录
  • js面试2021
  • 苹果cmsv10官网
  • kppw源码
  • 关于印花税免税的规定
  • 账户验证交易
  • 普通发票销货清单
  • 增值税发票遗失可以补开吗
  • 金税卡报税流程
  • mysql 5.5.x zip直接解压版安装方法
  • 公司餐费怎么入账
  • 进口卷烟消费税定额税率
  • 未发生账务类交易
  • 房屋租赁税按什么收
  • 建筑施工企业劳务费怎么入成本
  • 资产处置损益如何在利润表中体现
  • 发票开商品类别可以报销吗
  • 营改增后建筑企业如何正确开具发票
  • 项目估算主要包括
  • 采购付款的会计控制内容有哪些
  • mysql服务1053
  • sql server数据库怎么使用
  • mysql 5.7.11 winx64快速安装配置教程
  • freebsd使用手册
  • windows8触摸板设置
  • VMware10安装Windows server2012
  • win8关机键怎么添加到开始菜单
  • macbook外接多个显示器
  • linux如何使用u盘
  • win7系统怎么把其他盘空间给c盘
  • unity3d c语言
  • Web2.0下XHTML+CSS 设计需要注意的地方小结
  • jquery滚动条滚动到指定位置
  • 基于javascript的毕业设计
  • nodejs orm框架
  • angular.js
  • Unity 中WWW加载 AssetBundle---中文路径
  • javascript的主要内容
  • js实现表格动态合并单元格
  • 国家电子税务局云南省电子税务局
  • 村财审计报告怎么写
  • 十月报税2021
  • 山东税务是干什么的
  • 一般纳税人租赁费税率
  • 国家税务局关于印发的通知
  • 天津摇号申请查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设