首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调试Direct3D模型

调试Direct3D模型
EN

Stack Overflow用户
提问于 2008-10-30 06:50:54
回答 3查看 494关注 0票数 1

我试图在Direct3D中使用DrawIndexedPrimitives呈现一个模型。然而,我无法在屏幕上看到它。调试Direct3D模型的常用方法是什么?

我试过以下几种方法:

PrimitiveType.TriangleStrip

  • Several

  • 关闭了后脸剔除

  • ,使用PrimitiveType.LineStrip代替了视图和投影的PrimitiveType.LineStrip组合,将顶点绘制成微小的球体
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-12-04 10:20:00

  • 将背景颜色变成灰色;然后如果它是白色或黑色,您就会看到它。
  • 检查您的转换矩阵(world/view/投影图)。对视图和投影使用标准的数学函数,将世界设置为标识。
  • 确保设置了您的视图;容易忘记此视图,并且在视图端口中有0值。
  • 打开D3D调试。看看调试程序,很多人都忽略了运行时会告诉您出了什么问题。
  • 检查像素/顶点着色器。使用可工作的已知设置;或固定的function.
  • Check呈现状态。转Z缓冲,Z测试,Z写等,以防你有深度设置问题。检查你的彩色口罩是否开着。有很多种状态,寻找可能导致problems.
  • Check调用DrawIP的状态--您可能会遇到参数问题,例如指定错误的顶点、面数等。尝试绘制列表中的第一个三角形,不要绘制其他三角形;在绘制所有三角形之前,先让其中一个开始工作……
票数 2
EN

Stack Overflow用户

发布于 2008-10-30 07:04:52

使用DX中的PIX工具。简直太棒了。

可能您会想要使用单帧捕获模式。然后在绘制调用PIX将显示模型在顶点处理发生之前,在顶点处理发生之后,完成设备的状态,结果像素呈现等等。

票数 2
EN

Stack Overflow用户

发布于 2008-11-22 20:45:06

默认情况下,D3D中没有灯,可能所有的东西都是黑色的。如果你不开灯的话,一定要把灯打开。

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

https://stackoverflow.com/questions/249440

复制
相关文章

相似问题

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