Visual c++ 用C++中的直接X 9在顶表示上的3D图标

Visual c++ 用C++中的直接X 9在顶表示上的3D图标,visual-c++,directx,directx-9,Visual C++,Directx,Directx 9,我正在做一个视觉模拟器,我有很多2D图标代表模拟的元素,我有一个3D.x,用Blender图标制作,代表另一个更重要的元素 我需要把这个放在其他2d图标的上面。tga,但我找不到制作这个的方法。Direct x是否可以在其余的2d图标上绘制3d图标?。 此时,二维图标始终位于三维图标的顶部 谁能帮我一下吗。我在C++编程 非常感谢。渲染2D图标时禁用Z写入。然后在启用Z写入的情况下渲染三维图标时,它将在二维图标上渲染 目前的问题是,在渲染2D图标时,使用的z值很可能是z缓冲区的前端0。您可能还会

我正在做一个视觉模拟器,我有很多2D图标代表模拟的元素,我有一个3D.x,用Blender图标制作,代表另一个更重要的元素

我需要把这个放在其他2d图标的上面。tga,但我找不到制作这个的方法。Direct x是否可以在其余的2d图标上绘制3d图标?。 此时,二维图标始终位于三维图标的顶部

谁能帮我一下吗。我在C++编程
非常感谢。渲染2D图标时禁用Z写入。然后在启用Z写入的情况下渲染三维图标时,它将在二维图标上渲染

目前的问题是,在渲染2D图标时,使用的z值很可能是z缓冲区的前端0。您可能还会发现,您可以再次将z值设置为1。这可能完全取决于您如何设置2D渲染,以强制2D图标在z缓冲区的后面渲染


Z缓冲区中的任何条目都不等同于它位于Z顺序的后面。

如果启用了深度缓冲,则需要确保图标的Z值距离相机的距离比模型的距离远。如果您使用的是ID3DXSprite,则应该能够在调用Draw函数或使用函数时指定Z位置

请注意,ID3DXSprite可能使用与模型不同的投影矩阵绘制精灵,具体取决于传递给ID3DXSprite::Begin的标志。您可能需要使用该标志