【发布时间】:2012-11-01 16:56:13
【问题描述】:
我学习 DirectX 已经有一段时间了,我已经到了从 .obj 文件将多个对象绘制到屏幕上的地步。我的问题是,如果我绘制 2 个对象,则第 2 次绘制将在第 1 次之上。
示例:
Obj1 = 纸板箱
Obj2 = 立方体
loadStuff_&_draw(Obj1);
loadStuff_&_draw(Obj2);
这会将立方体绘制在盒子外面/前面,即使它在盒子里面/后面。
如何让多个对象绘制在一起以使它们正确重叠?
我所知道的唯一绘画内容是:
- 加载顶点、索引、常量缓冲区
- updateSubresource()
- drawIndexed()
编辑:
这是一个盒子里的立方体的图片。它显示立方体在盒子后面而不是里面。它还显示盒子的边缘夹在盒子后面。不知道发生了什么。
我画了立方体,然后画了空心盒子。
【问题讨论】:
-
您是否已经创建了深度缓冲区和深度模板状态?
-
我有一个,但我真的不知道怎么用。
-
您使用的是哪个版本的 DirectX?
标签: c++ directx directx-11