位置: 编程技术 - 正文

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

  • 核销 坏账
  • 增值税专用发票抵扣期限
  • 个税退还会计分录
  • 备用金没有发票抵消违法吗
  • 税务登记财务负责人可以是法人吗
  • 增值税电子发票能抵税吗
  • 结构性存款是
  • 微信支付工资怎么做账
  • 银行扣除的贴现利息怎么算
  • 物流公司加油费属于什么费用
  • 税审报告谁签字
  • 以公允价值计量且变动计入其他综合
  • 补缴企业所得税滞纳金账务处理
  • 销售退货成本如何计算
  • 已经提完折旧的固定资产报废
  • 金税盘年费如何做账
  • 外贸企业出口收入确定
  • 股权转让要交哪些费用
  • 二手电脑怎么激活windows10
  • 怎样启动powerpoint
  • 什么是保守型证券
  • 增资后持股比例怎么算
  • 工程合同主要看什么
  • window10总是自动开机
  • 如何修改win10系统电脑密码
  • 劳务派遣公司账目如何做
  • 电脑桌面上的图片怎么打印
  • 没收入长期待摊怎么办
  • 南极岛在哪
  • php的header函数
  • php面向对象编程实验总结
  • php中preg_replace_callback函数简单用法示例
  • Editorial Calendar为你的WordPress添加编辑日历 让文章定时发布更简单
  • 项目建设期算不算折旧
  • php首页
  • 发票金额大于付款金额怎么做账
  • 零税率与免税有何区别
  • 床垫发票
  • 企业欠缴税款违法吗
  • 成立一般纳税人的利弊
  • 旅游大巴应怎么买票
  • SQL Server 2005 模板参数使用说明
  • 以前年度损益调整
  • 没有发票可以先付款吗
  • 存货周转率多少算合理
  • 收到知识产权服务费入什么科目
  • 企业清算期间发生的各项费用应计入以下什么科目
  • 快递费用在线查询
  • 税控盘和金税盘一样吗
  • 银行手续费必须开发票的规定
  • 多少钱算固定资产2022
  • sql查询生成器
  • window怎么样
  • freebsd使用手册
  • xp快捷桌面图标
  • XP从4月8日起将正式停止支持服务、升级到 Win 8.1图文教程
  • PureVoice.exe - PureVoice是什么进程 有什么用
  • win8.1技巧
  • win8 资源管理器
  • sendmail端口
  • xp升级win8.1
  • unity物体旋转到指定角度
  • 安卓音游吃音
  • [置顶]津鱼.我爱你
  • 重定向stdout
  • linux shell脚本编程100例
  • javascript canvas方法有哪些
  • jquery动态添加css样式
  • jquery 选择器 空格
  • shell获取脚本进程id号
  • 怎么运用知识点
  • python批量删除行
  • python中txt文件的读写
  • 如何查询契税是否逾期
  • 国家税务局2017年11号
  • 煤炭资源税税率减半对上市公司影响
  • 土地交易的印花税
  • 个人所得税扣缴手续费退付是什么意思
  • 上海地税定额发票在哪开
  • 争议问题
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设