位置: 编程技术 - 正文

[Unity3D]降低向Shader中传值的开销(unity调整地形高度)

编辑:rootadmin
摘要

推荐整理分享[Unity3D]降低向Shader中传值的开销(unity调整地形高度),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity怎么降低地形,unity怎么降低地形,unity怎么抬高地面,unity怎么降低地形,unity降低版本,unity降低版本,unity降低版本,unity降低drawcall的方法,内容如对您有帮助,希望把文章链接给更多的朋友!

Unity3D中提供了很多API用于向shader传值,这篇文章对比测试了两类不同的使用方法的性能。

正文

Unity3D中,通过C#代码向shader传值有两种方式。 一种是面向具体的material,另一种是面向所有的material。 以上两种方式分别对应下面两类API:

Material.SetXXX();Shader.SetGlobalXXX();

例如,现在的需求是,需要每帧向shader传递一个offset、一个scale、和一个alpha。

普通的做法是:

在shader中添加:

[Unity3D]降低向Shader中传值的开销(unity调整地形高度)

在C#中通过以下方式进行传值:

以上写法可以正常工作,但是更好的方法是下面这种:

Shader中:

C#中:

第二种方法在GPU寄存器的使用方面会优于第一种方法,因为不论是SetFloat还是SetVector,都会占用一个寄存器。CPU和GPU通信次数越少性能开销也就越少。 用下面的方法做一下测试,可以发现两种方式在CPU方面开销变化很明显,在我的电脑上,万次循环一帧大约可以节省2ms左右。

最后

其实这个技巧也不仅仅局限于Unity3d,在dx和gl中也应该是这样,思想是通用的,如果谁能分享一些不是非常难的结合代码的GPU和CPU通信的学习资料大普通将be very appreciate。

Unity3d读取CSV中的文本到Rich Text中换行符不识别的问题 项目中要用到符文本做一些信息显示,需要有颜色、字体样式、换行之类,Unity的RichText就可以用来做这类需求。关于RichText的使用:

unity3D LineRender的使用 首先做一个预设,添加LineRender组件,变价材质,然后放到资源文件夹中privateLineRendererm_lineRander;privateVector3m_curPos;publicVector3CurPos{get{returnm_curPos;}set{m_curPo

2d ui菜单进入出去 publicAnimatorstartButton;publicAnimatorsettingsButton;publicAnimatorsetplane;publicvoidStartGame(){Application.LoadLevel(RocketMouse);}publicvoidOpenSettings(){startButton.SetBool(TureBool,true);sett

标签: unity调整地形高度

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

上一篇:unity 动态创建摄像机(unity怎么创建摄像机)

下一篇:Unity3d读取CSV中的文本到Rich Text中换行符不识别的问题(unity3d读取gis数据)

  • 非营利组织企业所得税季度申报表
  • 没有独立核算的分公司需要报税
  • 计提税费的会计分录怎么写
  • 个人所得税汇算表
  • 个人所得税退的多好还是少好
  • 小规模纳税人季度不超30万免增值税
  • 个体工商户五级税率
  • 汇算清缴的利润表本期数与本年数
  • 收回以前年度的应收账款,怎么进行账务处理?
  • 补提以前年度税费应该计入
  • 关于半年度净资产的公告
  • 非公司汽车加油怎么开票
  • 股东转账实收资本怎么填
  • 科技公司营业执照经营范围明细
  • 哪些理财产品能赎回
  • 孵化器虚拟地址多少钱一个啊
  • 网税系统用户名和密码
  • 一般纳税人转让固定资产增值税税率
  • 怎么让自己的电脑有网吧认证
  • 企业如何选择会计师事务所
  • 营改增后建筑业怎么开票
  • 应交税费进项税额在借方说明什么
  • 贴现息等于什么
  • 火狐十大必用插件
  • vue组件继承并重写属性方法
  • 前端常问的面试题
  • 实例讲解php设计软件
  • 折旧的计提
  • opencv如何使用
  • 增值税专用发票电子版
  • 其他应付款清账
  • 个人简历html网页代码含效果图
  • 睿智目标检测yolov8
  • PHP+mysql+ajax轻量级聊天室实现方法详解
  • python字符串字面量有哪4种
  • 商品和服务税收分类编码表下载
  • 职工薪酬在利润表哪里看
  • 投资别人公司的注意事项
  • 常见的垃圾回收器有哪些
  • sql 临时表格
  • 借方贷方有哪些
  • 企业的净资产都有哪些
  • 外经证网上查询
  • 个人所得税计提会计分录怎么做
  • 企业所得税年报申报时间
  • 销项税额专栏记录企业销售货物
  • 货物运输企业的经营内容
  • 供应商折扣一次多少
  • 公司对员工的罚款有什么标准
  • 企业土地补偿款如何做账
  • 机动车销售折让红字信息表
  • 核销报验登记流程
  • 网络销售还可以叫什么
  • 应交税费应交增值税减免税款
  • 个体工商户如何给员工交五险一金
  • 在sql查询中使用where子句指定的是
  • iis w3svc
  • wrsvn.exe是什么文件
  • win8链接wi-fi
  • windows7桌面出现一个窗口删除不了
  • 如何修复hosts文件
  • windos8怎么样
  • win2008个性化
  • 空磁盘为什么有已用空间
  • win7系统安装ie11浏览器
  • win1020h2版本要更新多久
  • linux常用配置
  • 装了linux后windows没有了
  • 创建nodejs项目的步骤
  • shell案例讲解
  • 恶意软件清理
  • qt搭建opencv
  • JavaScript+html5 canvas实现图片破碎重组动画特效
  • node如何使用
  • jquery.form.min.js
  • 重庆市委常委是副部级干部吗?
  • 商业发票发票号怎么填写
  • 重庆沙坪坝区沙磁巷幼儿园
  • 辽宁社保网上申报流程图
  • 个体工商户两处所得,如何减半个税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设