位置: 编程技术 - 正文

[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数据)

  • 查付款记录需要什么?
  • 进口关税的计算方式
  • 企业合并怎么处理
  • 车辆固定资产的入账价值
  • 成本费用的关系
  • 增值税小规模纳税人优惠政策
  • 项目所在地预缴增值税
  • 费用会计具体工作总结
  • 五证合一流程
  • 公司代扣代缴社保怎么操作
  • 向税务局缴纳工伤保险费有发票吗
  • 资本公积是啥
  • 养牛需要活动场地吗
  • 预提工程成本的会计分录
  • 贷款利息能抵税吗现在
  • 白酒与外购产品的区别
  • 汽车装饰用品大全进货
  • 开票系统能导出几年前的
  • 新会计准则规定资产如何入账
  • 购买护肤品的会计分录
  • 服务业成本会计分析
  • 联想小新Air15如何进入bois
  • win11启动方式
  • 自创商誉的确认
  • 破产资产拍卖
  • 最轻便的蓝光刻录机品牌
  • 个人住房5年后买卖如何交税?
  • 企业所得税的缴费基数
  • 取得投资是什么意思
  • 金税三期登录不上
  • less中使用js变量
  • json_server
  • python编程爱心形状
  • yolo算法百度百科
  • 网上学电脑的软件
  • 小企业会计准则没有以前年度损益调整科目
  • 信用卡收款怎么查询
  • 茶叶开一般发票(非增值税发票)是多少个点的?
  • 金税盘v2.0.41怎么扫码开票
  • js 自定义类型
  • 加计抵减会计分录其他收益
  • 加计抵减可以结转吗
  • 单位的车辆
  • 进口材料海关需要什么手续
  • 在建工程中发生的费用
  • 增值税不超过30万,普通发票可以开0税率吗
  • 预付账款要设明细科目吗
  • 劳务派遣公司账务处理
  • 库存股的处理方式
  • 破产重组还需要还钱吗
  • 普票抵扣
  • 公司向员工个人借款怎么处理
  • 权益性投资包括哪些
  • 工会经费按照什么计算缴纳
  • sql server 数学函数
  • 利用rpm安装软件包时,应使用命令选项
  • 联想Thinkpad怎么进入安全模式
  • win10自带的音乐播放器groove如何设置
  • centos coreos
  • mac如何强制退出微信
  • 安装ubuntu后无法进入windows
  • win7桌面快捷方式图标没箭头
  • windows操作大全
  • android图形系统
  • 深入剖析典型案例
  • windows运行nodejs
  • Lesson01_05 HTML中的超链接
  • 用pyth
  • 同一个页面
  • androidui布局
  • 修改bash_profile
  • 使用jquery实现的项目
  • android studio 1.2 安装配置教程(windows平台)
  • 常用的截图方法有哪些
  • android按钮按下变色
  • python结合了什么的高级语言
  • 个税纳税证明在哪里开
  • 电子税务局做什么的
  • 福建社保官方网站
  • 机动车发票怎样开
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设