首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以用什么技术来交换每帧成千上万的型号?

我可以用什么技术来交换每帧成千上万的型号?
EN

Computer Graphics用户
提问于 2023-02-27 10:54:23
回答 1查看 50关注 0票数 0

我需要呈现很多对象,这些对象从一个帧到另一个帧交换它们的模型。

目前,我正在把每个模型放入一个单一的顶点缓冲区,并给每个顶点一个id。我将相同的id存储在实例缓冲区中。如果顶点和实例缓冲区it在顶点着色器中匹配,那么我就呈现它。它可以工作,但由于我渲染了数万个对象,在呈现超过16 of之前,我只能将大约1000个顶点放入顶点缓冲区。这意味着大约2-3个模型。

还有什么其他的技术可以用来交换我可以买到10到20种型号的吗?

EN

回答 1

Computer Graphics用户

回答已采纳

发布于 2023-02-27 19:18:03

一种方法是将问题从“改变其模型的对象”重构为“被其他具有相同位置的对象替换的对象”。

创建实例的缓冲区(或一个缓冲区中的范围),这些实例都应该绘制相同的模型。每个框架,遍历对象列表,确定要绘制哪个模型,并将对象的位置(和其他实例数据)添加到该模型的实例缓冲区中。

当然,这需要在每个帧上上传大量的实例数据,但是如果对象是独立移动/动画的,那么无论如何都需要这样做,而且它将比GPU处理数千个无关顶点的速度更快。

票数 1
EN
页面原文内容由Computer Graphics提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://computergraphics.stackexchange.com/questions/13325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档