位置: 编程技术 - 正文

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

  • 所得税分录是怎么计算的
  • 计算应交增值税并结转未交增值税怎么做用友
  • 2023年增值税税率表
  • 土地摊销全部计入成本吗
  • 资产负债表税务报表中其他应收款可以为负数吗
  • 几个月以前发现便血是肠癌吗
  • 配件的出口是否可以免抵退?
  • 贸易型出口退税流程
  • 建筑劳务公司的工资计入什么科目
  • 五险一金账务处理流程图
  • 股东分红如何合理节税
  • 公司收生育津贴怎么入账
  • 税收滞纳金和税金滞纳金有什么区别
  • 空调可以开专票抵扣吗
  • 国家税务总局2011年第25号公告
  • 高新技术企业认定管理办法
  • 金税盘锁死去税务局流程
  • 违约支付工程款的违约金
  • 认缴实收资本印花税什么时候交
  • 自建房屋没有发票如何入账
  • 财务每月需要报哪些税
  • 汽车行业销售折让
  • 研发费用入账
  • 事业单位是否需要章程
  • 无法取得房地产原值怎么缴纳房产税?
  • 报销误餐费会计怎么做账
  • 工程结算收入的会计分录
  • bios术语
  • 银行承兑汇票质押率90%
  • 进项发票没认证可以开红字申请单吗
  • 苹果紧急提醒
  • 确认坏账的会计处理
  • hiddenalbum是什么文件夹
  • 票据贴现业务如何核算
  • 转回已核销的坏账
  • 公路客运车辆
  • 采购过程中发生材料毁损,由保险公司赔偿的部分
  • 企业所得税申报表模板
  • 华为od机试题题库
  • pytorch基本操作
  • 深度学习大模型框架的简单介绍(ChatGPT背后原理的基本介绍)
  • 大数据实时数仓
  • 房地产企业出售房产增值税
  • 工伤保险赔付计算
  • 交通费 抵扣
  • 企业收到国债专项资金怎么记账
  • 接受母公司捐赠现金分录
  • 转让技术所有权是其他业务收入吗
  • 外经证预缴税款的附加税所属期写错怎么办
  • 应纳税额和已缴税额一样
  • 固定资产变动方式对应科目
  • 开出银行承兑汇票一张用于支付材料采购款
  • 土地使用权作为存货怎么入账
  • 机器折旧科目
  • 支付贷款利息属于筹资活动吗
  • 购买银行结构性存款安全吗
  • 一般纳税人的发票抵扣有效期多久
  • 金税系统怎么填写开票信息
  • 制造费用怎么结算
  • 安装centos6.6详细步骤
  • win7系统磁盘分区必须分区为什么才能安装
  • 如何在linux中安装软件
  • win10升级版本后还要激活吗
  • win10如何不升级系统
  • canvas动态绘制简单gif
  • css图片样式网站
  • 提取字符串的公式
  • 讯飞src
  • jquery中ajax处理跨域的三大方式
  • jquery dom对象
  • flash谈广告
  • jquery网页设计作业
  • javascript playground
  • 国家税务总局增值税发票查验平台官网
  • 重庆水费怎么交费
  • 大征期 是什么
  • 我国烟草税的税点是多少
  • 手机上交了社保可以退吗
  • 日本海关关税税率表
  • 成都城市建设规划管理局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设