多个对象,不同的行为

彼得·黄

我正在尝试使用DirectX 11.1构建俄罗斯方块游戏。我可以使用简单的三角形条在屏幕上渲染一个坦克(边界)和一块(I形,t形...)。我还可以使用着色器的恒定缓冲区移动这些对象的位置。

问题是我用一个缓冲区绑定了顶点。这导致储罐和零件一起移动,这不是理想的行为。我只想移动碎片,而不是坦克。

如何分隔两个对象?我应该为每个对象创建多个缓冲区吗?如果是这样,我是否必须多次渲染?

埃尔维塔里

有两种方法可以解决此问题。您应该记住,您希望的情况是对每个对象进行单独的转换,然后分别应用每个转换。您可能希望同时控制一个对象,但是仍然希望将其余对象的放置方式(正确的旋转和平移)进行转换。

可以为每个对象创建一个单独的缓冲区,然后分别渲染每个对象。您最终将拥有很多小缓冲区,但是当您考虑创建新对象并销毁旧对象时,这种情况可能是最简单的情况。但是,如果您确实考虑过这一点,那么在销毁块上的一行时,然后需要更新该行中至少包含一个块的所有缓冲区,是否会很方便?想一想。

现在,另一种方法是拥有一个缓冲区,只有在创建了新对象或对象被销毁时才进行更新。您只能使用绘制缓冲区的一部分

ID3D11DeviceContext::Draw(VertexCount,StartVertexLocation)

在这种情况下,每个Draw调用都会有一个单独的转换矩阵,但是会将对象保留在一个缓冲区中。

最后,还有一个解决方案,允许您通过一个调用来呈现所有内容,即,将所有对象存储在一个缓冲区中,方法与上一个示例相同。但是,这次每次创建或销毁对象移动时,都需要更新此缓冲区。在此解决方案中,您不会存储所有对象的转换。这些转换已应用于所有对象。但是在此解决方案中,您需要在CPU上的C ++代码中更新它们。不会进行很多转换,因此它应该是有效的。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

多个对象,不同的行为

来自分类Dev

Javascript 对象的行为不同吗?

来自分类Dev

字符串实例的行为与对象不同

来自分类Dev

列表中的对象的行为不同于字典中的对象的行为?

来自分类Dev

用于具有不同行为的多个接口的设计模式

来自分类Dev

多个属性值的CSS规则:按钮和输入的行为不同

来自分类Dev

SVG-具有不同行为的多个图像

来自分类Dev

如何确保与行为相似但实现不同的多个类签约?

来自分类Dev

为什么getattr的行为与手动更新对象不同

来自分类Dev

设计模式:将行为应用于不同家族的对象

来自分类Dev

从距离对象转换后的矩阵,子集行为与正常矩阵不同

来自分类Dev

Rails form_for多个不同的类对象?

来自分类Dev

在@RestController方法中返回多个不同的对象

来自分类Dev

JointJS:用于不同对象的多个模板

来自分类Dev

'this' 的行为不同

来自分类Dev

渲染多个对象时,iOS OpenGLES的异常行为

来自分类Dev

RxSwift的奇怪行为结合了多个可观察对象

来自分类Dev

在div中垂直对齐多个范围-不同浏览器中的不同行为

来自分类Dev

JavaScript删除对象在不同的浏览器中的行为有所不同

来自分类Dev

为什么订阅相同序列的不同可观察对象时,ReplySubject具有不同的行为?

来自分类Dev

关于“对象具有多个对象表示形式”的未指定行为

来自分类Dev

纹理化具有不同纹理的多个对象

来自分类Dev

在/淡出与不同的触发器的多个对象的组合

来自分类Dev

FactoryGirl如何添加具有不同角色的多个对象

来自分类Dev

创建具有不同参数的类的多个对象

来自分类Dev

在Firebase中的不同节点中写入多个对象

来自分类Dev

如何为多个对象使用不同的变换实例绘制

来自分类Dev

使用OR跟踪不同对象中的多个参数

来自分类Dev

在hyperSpec对象中绘制具有不同颜色的多个光谱

Related 相关文章

  1. 1

    多个对象,不同的行为

  2. 2

    Javascript 对象的行为不同吗?

  3. 3

    字符串实例的行为与对象不同

  4. 4

    列表中的对象的行为不同于字典中的对象的行为?

  5. 5

    用于具有不同行为的多个接口的设计模式

  6. 6

    多个属性值的CSS规则:按钮和输入的行为不同

  7. 7

    SVG-具有不同行为的多个图像

  8. 8

    如何确保与行为相似但实现不同的多个类签约?

  9. 9

    为什么getattr的行为与手动更新对象不同

  10. 10

    设计模式:将行为应用于不同家族的对象

  11. 11

    从距离对象转换后的矩阵,子集行为与正常矩阵不同

  12. 12

    Rails form_for多个不同的类对象?

  13. 13

    在@RestController方法中返回多个不同的对象

  14. 14

    JointJS:用于不同对象的多个模板

  15. 15

    'this' 的行为不同

  16. 16

    渲染多个对象时,iOS OpenGLES的异常行为

  17. 17

    RxSwift的奇怪行为结合了多个可观察对象

  18. 18

    在div中垂直对齐多个范围-不同浏览器中的不同行为

  19. 19

    JavaScript删除对象在不同的浏览器中的行为有所不同

  20. 20

    为什么订阅相同序列的不同可观察对象时,ReplySubject具有不同的行为?

  21. 21

    关于“对象具有多个对象表示形式”的未指定行为

  22. 22

    纹理化具有不同纹理的多个对象

  23. 23

    在/淡出与不同的触发器的多个对象的组合

  24. 24

    FactoryGirl如何添加具有不同角色的多个对象

  25. 25

    创建具有不同参数的类的多个对象

  26. 26

    在Firebase中的不同节点中写入多个对象

  27. 27

    如何为多个对象使用不同的变换实例绘制

  28. 28

    使用OR跟踪不同对象中的多个参数

  29. 29

    在hyperSpec对象中绘制具有不同颜色的多个光谱

热门标签

归档