Unity中Batching优化的GPU实例化(3)

文章目录

  • 前言
  • 一、UNITY_SETUP_INSTANCE_ID(v);
  • 二、在UnityInstancing.cginc文件中,看一下Unity这句话做了什么
    • 1、使用了该 .cginc 后,会自动预定义该函数
    • 2、需要满足GPU实例化条件,才会执行对应语句
    • 3、满足GPU实例化后,主要执行的是如下几个函数


前言

在上篇文章中,我们主要解析了 Unity 中 GPU实例化的定义 实例化ID 步骤干了什么。

  • Unity中Batching优化的GPU实例化(2)

我们在这篇文章中,把定义的 实例化ID 给使用起来,使合成一个批次的模型 包含的渲染的对象坐标显示正确。


一、UNITY_SETUP_INSTANCE_ID(v);

UNITY_SETUP_INSTANCE_ID(v); 放在顶点着色器/片断着色器(可选)中最开始的地方,这样才能访问到全局变量unity_InstanceID.

  • 修改前(虽然GPU实例化合批成功了,但是对象的位置不对):

请添加图片描述

  • 修改后:(GPU实例化合批成功,且位置正确)
    请添加图片描述

二、在UnityInstancing.cginc文件中,看一下Unity这句话做了什么

  • UNITY_SETUP_INSTANCE_ID(v);

1、使用了该 .cginc 后,会自动预定义该函数

在这里插入图片描述

2、需要满足GPU实例化条件,才会执行对应语句

  • 这句话必须在顶点着色器 和 片元着色器一开始使用,才可以使之后的步骤正确的访问全局变量unity_InstanceID

在这里插入图片描述

  • UNITY_INSTANCING_ENABLED : GPU实例化能开启的情况

在这里插入图片描述

  • UNITY_SUPPORT_INSTANCING : GPU实例化硬件支持

在这里插入图片描述

3、满足GPU实例化后,主要执行的是如下几个函数

在这里插入图片描述

  • UNITY_GET_INSTANCE_ID(input) :获取合批前,点的合批ID 函数

在这里插入图片描述

  • UnitySetupInstanceID(UNITY_GET_INSTANCE_ID(input)) :转化得到合批后点的合批ID

在这里插入图片描述

  • UnitySetupCompoundMatrices(); : Unity根据全局变量 unity_InstanceID 进行对应的矩阵变换使顶点位置正确

在这篇文章中,我们解决了GPU实例化后,对象位置不对的问题。在下篇文章中,我们实现怎么使每个对象的材质颜色不同。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/258449.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

随机分词与tokenizer(BPE->BBPE->Wordpiece->Unigram->sentencepiece->bytepiece)

0 tokenizer综述 根据不同的切分粒度可以把tokenizer分为: 基于词的切分,基于字的切分和基于subword的切分。 基于subword的切分是目前的主流切分方式。subword的切分包括: BPE(/BBPE), WordPiece 和 Unigram三种分词模型。其中WordPiece可以认为是一种特殊的BPE。完…

实用方法 | 搭建真正满足用户需求的在线帮助中心

随着互联网的普及和信息技术的快速发展,客户服务和支持变得越来越重要。为了提高客户满意度和维持良好的品牌形象,越来越多企业都开始搭建自己的在线帮助中心。 不知从何下手?细想一下,搭建在线帮助中心主要就是为了解决用户的问…

Linux,Web网站服务(一)

1.准备工作 为了避免发生端口冲突,程序冲突等现象,建议卸载使用RPM方式安装的httpd [rootnode01 ~]# rpm -e http --nodeps 挂载光盘到/mnt目录 [rootnode01 ~]# mount /dev/cdrom /mnt Apache的配置及运行需要apr.pcre等软件包的支持,因此…

2024年甘肃省职业院校技能大赛信息安全管理与评估赛项一阶段样题一

2024年甘肃省职业院校技能大赛高职学生组电子与信息大类信息安全管理与评估赛项样题一 竞赛需要完成三个阶段的任务,分别完成三个模块,总分共计 1000分。三个模块内容和分值分别是: 1.第一阶段:模块一 网络平台搭建与设备安全防…

【EMNLP 2023】面向Stable Diffusion的自动Prompt工程算法BeautifulPrompt

近日,阿里云人工智能平台PAI与华南理工大学朱金辉教授团队合作在自然语言处理顶级会议EMNLP2023上发表了BeautifulPrompt的深度生成模型,可以从简单的图片描述中生成高质量的提示词,从而使文生图模型能够生成更美观的图像。BeautifulPrompt通…

从 0 到 100TB,MatrixOne 助您轻松应对

作者:邓楠MO产品总监 导读 随着传感器和网络技术的大规模应用,海量 IoT 设备产生了巨量数据,传统数据库方案难以满足这些数据的存储和处理需求。MatrixOne 是一款强大的云原生超融合数据库,具备优秀的流式数据写入和加工能力&am…

OpenCL学习笔记(三)手动编译开发库(win10+mingw64)

前言 有的小伙伴仍然在使用mingw编译器,这时只能重新编译opencl的sdk库。本文档简单记录下win10下,使用mingw11.20编译的过程,有需要的小伙伴可以参考下 一、安装所需软件 1.安装git,教程比较多,不再重复 2.安装cm…

算法——前缀和

模板一维前缀和 【模板】前缀和_牛客题霸_牛客网该算法是先预处理一个数组,用空间换时间,将原本时间复杂度为O(n2)降为O(n) 题目解析 题中下标(用i表示)从1开始计数,长度为n的数组,想访问到an 位置&…

【CCF-B】中科院1区TOP,极速1天见刊,国人友好,基金申请必备之选!

01 期刊概况 Neural Networks 【出版社】Elsevier 【ISSN】0893-6080 【EISSN】1879-2782 【检索情况】SCI&EI&Scopus在检 【WOS收录年份】1988年 【出刊频率】月刊,最新一期Volume 170,In progress (February 2024) 【期刊官网】 https…

Leetcode—2034.股票价格波动【中等】

2023每日刷题&#xff08;五十二&#xff09; Leetcode—2034.股票价格波动 算法思想 实现代码 class StockPrice { public:int last 0;multiset<int> total;unordered_map<int, int> m;StockPrice() {}void update(int timestamp, int price) {if(m.count(time…

阿里云服务器经济型、通用算力型、计算型、通用型、内存型实例区别及选择参考

当我们通过阿里云的活动购买云服务器会发现&#xff0c;相同配置的云服务器往往有多个不同的实例可选&#xff0c;而且价格差别也比较大&#xff0c;例如同样是4核8G的配置的云服务器&#xff0c;经济型e实例活动价格只要1500.48/1年起&#xff0c;通用算力型u1实例要1795.97/1…

MatrixOne 完成与麒麟软件服务器操作系统的兼容互认。

近日&#xff0c;矩阵起源超融合数据库 MatrixOne 企业版软件与麒麟软件银河麒麟高级服务器操作系统&#xff08;飞腾版、鲲鹏版&#xff09;V10 完成产品兼容性认证&#xff0c;并获得证书《麒麟软件 NeoCertify 认证》。 双方联合从功能、性能、兼容性、可靠性、功耗、安全这…