问题标签 [direct3d9]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
77 浏览

directx - 在 Direct3D 9 中使用灯光的最佳方式是什么

当有 5 个灯时,我使用的当前方法将 fps 降至 30。在 AAA 游戏中拥有灯光的最佳方式是什么。他们到处都有灯,但运行平稳。我现在用的是

0 投票
1 回答
549 浏览

windows-7 - 触发 Windows TDR(超时检测和恢复)

我正在开发 Direct3D9Ex 应用程序,我的一些用户在 TDR 事件后遇到恢复问题。为了解决这个问题,我需要在我的机器上对其进行测试,但要做到这一点,我需要一种按需触发 TDR 事件的方法。
最好的方法是什么?

0 投票
2 回答
1342 浏览

visual-c++ - 在direct3d中的屏幕角落绘制坐标系轴

我在 MFC 窗口中有一个 direct3d 环境,我想在屏幕的一角绘制坐标系轴,就像任何 3d 软件一样。我认为这不会有问题,但是当我开始移动相机时出现了问题。无论我如何平移、缩放或旋转相机,我都需要对象出现在同一个位置。

但似乎我做错了什么,我希望有人能指出我正确的方向,因为我正在绘制的对象在我缩放时没有相应地缩放,但在平移或旋转时它工作得很好。

我还发布了一个 youtube 视频向您展示症状:http ://www.youtube.com/watch?v=gwM0m8nbLts&feature=youtu.be

这是我绘制对象的代码:

0 投票
1 回答
741 浏览

winforms - 多显示器硬件加速

我抓住了这个多窗口测试代码,将其更改为使用D3DXCreateTeapot而不是D3DXLoadMeshFromX(我找不到 teapot.x 文件),将调用移到EndScene调用下方DrawText并设置NUM_WINDOWS为 1。通过这些细微的更改,测试工作并创建了两个窗口,每个都有它的茶壶。

我构建了测试并将其部署在一台机器上,该机器有一个板载 Intel HD Graphics GPU,有两个头,每个头都连接到一个监视器。然后我将一个窗口移动到每个监视器上,并放大两个窗口以占用每个监视器空间的大约 80%。

有了这个非常接近我的应用程序需要的设置,辅助监视器中的窗口总是太慢。如果我交换窗口,情况是一样的:辅助监视器中的那个开始爬行,并减慢整个系统的速度。

我四处搜索,一些消息来源(尽管已过时)指出,只有主显示器在不处于全屏模式时才能使用硬件加速。我不能使用全屏,因为我的应用程序中的 direct3d9 渲染是在嵌入在 Winforms GUI 中的用户控件内完成的。

在窗口模式下是否真的不可能为两个显示器获得硬件加速?我们应用程序的旧版本使用 MFC + DirectDraw 并设法执行得足够快,但这些都是过时的技术,我们讨厌回到那里。

0 投票
1 回答
3444 浏览

c++ - 如何在 DirectX 9 中将 XMMATRIX 转换为 D3DMATRIX?

我从 www.directxtutorial.com 学习 DirectX (DirectX 9) 并在 Windows 8 中使用 Visual Studio 2012。d3dx9 (d3dx) 替换为 DirectXMath 等其他标题,因此我替换了所有需要的,但有一个问题 - 将 XMMATRIX 转换为D3DMATRIX。

问题代码(写的问题-/问题! /):

0 投票
1 回答
160 浏览

c++ - 宏等于函数?

失败的宏

宏(计算机科学)

在我阅读了上面的文章之后,我仍然不太确定宏只是一个函数还是其他任何东西。宏等于功能吗?

例子:

0 投票
1 回答
125 浏览

c++ - Direct3D 9 函数返回值

由于函数的返回值用于错误消息,函数如何将必要的信息返回给调用者?

例如: IDirect3D9::CreateDevice 方法

0 投票
2 回答
1088 浏览

c++ - 用于清理资源的析构函数

在应用程序中,资源是应用程序使用的任何虚拟组件,例如纹理和声音。我们可以用析构函数清理资源吗?如果可以,请提供一个演示示例。谢谢。

我尝试使用析构函数进行清理,但值仍然存在。为什么调用析构函数后对象没有被删除?

0 投票
2 回答
304 浏览

c++ - 使用 Direct3D9 的 LNK2005 错误

我目前正在尝试设置一个基本应用程序,并且我想使用 Direct3D9 作为 API 来绘制原始形状。例如,我想创建一个由圆形对象和三角形对象中的三角形等绘制的圆。

我的问题是我在不希望看到它们的地方收到 LNK2005 错误。那或者我错过了一些非常明显的东西,因为我之前使用过这种设置 Direct3D9 的方法,没有任何问题。

这是我从编译器收到的实际错误消息(VS 2010)

我目前有两个类(RigidBody 和 Circle),尽管目前只使用 RigidBody。

头文件.h

主文件

刚体.h

圈子.h

Circle 和 RigidBody 类也有自己的 .cpp 文件,但在这些“占位符”文件中还没有实现任何方法(或任何代码)。

那么任何人都可以看到为什么我会收到此错误吗?我希望它是一个简单的,但我不确定,因为在没有问题之前我已经以这种方式设置了 Direct3D 9。

当我说我之前以这种方式设置它时,我的意思是我已经将 Direct3D9 头文件和指针LPDIRECT3DDEVICE9放在LPDIRECT3D9全局头文件中并使用包含防护将其包围。这适用于我的上一个项目,我将两者进行了比较,没有明显差异。

我弄乱了警卫标识符,认为它可能无效或在其他地方使用,并且使用我能想到的最独特的警卫标识符给我带来了同样的错误。

当我放:

在 Main.cpp 中并将其从 Headers.h 文件中取出,项目编译良好。但是,我不想这样做,因为我想LPDIRECT3DDEVICE9从每个对象中访问,因为这是我打算设置原始形状的地方。

0 投票
2 回答
1233 浏览

c++ - 如何为 D3DXCreateTextureFromFileEx 方法设置图像资源路径?

我尝试将所有图像资源合并到一个名为 resource 的文件夹中。因此,将图像路径设置为“resource/”,但我的 directX 框架仅在我在 VS 2010 上编译时才有效。如果我从调试文件夹运行,它将无法运行。(我已经将所有图像资源复制到调试文件夹)

http://i.stack.imgur.com/Shyj7.png