DirectX 11:创建多个对象

拉希德·埃利斯(Rashid Ellis)

当在屏幕上创建多个对象时(具有不同的顶点列表,而不是重复使用相同的顶点),您会为每个新的顶点集定义一个单独的缓冲区描述,然后调用DrawIndexed()吗?

目前,我正在尝试将其包装在一个函数中。我对如何从本地矩阵抽象“所有权”到几何缓冲区的每个新实例感到有些困惑:

另外,是DrawIndexed()在类成员可接受的方法中多次调用(针对每个对象),或者正在调用DrawIndexed()并引用start元素。

综上所述,在DirectX 11中绘制多个可变形几何的标准(或类似标准)是什么?

编辑:如果需要,欢迎使用伪代码;我想我有个主意,但对执行感到紧张。(是否已优化)

拉希德·埃利斯(Rashid Ellis)

这个问题的目的是找到一种绕过DirectX11管道的局限性的方法,即仅一个Vertex和Index Buffer可以被接受到管道中。经过一些编码后,C ++的沙箱世界和DirectX11的沙箱思维保持一致,并且管道接受所需的尽可能多的缓冲区。

解决了该问题,存储了一个对象数据类和一个全局动态结构,该结构记录了登录到世界中的所有对象及其属性。对象类通过每个类实例的自然数据分离来创建“所有权”。

对于未来的眼睛。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章