问题标签 [directx]

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 投票
7 回答
2933 浏览

c++ - 使用并行处理在 C++ 中制作游戏

我想在 C++ 中“模拟”流行的 Flash 游戏 Chrontron,需要一些帮助才能开始。(注:不是为了释放,只是为自己练习)

所以,这解释了游戏是如何运作的。你应该玩一点才能真正理解我的问题是什么。

我在想一个解决这个问题的好方法是使用链表来存储每个状态,这可能是基于时间的哈希映射,或者是基于时间迭代的链表。我仍然不确定。

实际问题:

现在我有了一些粗略的规范,我需要一些帮助来决定使用哪些数据结构,以及为什么。另外,我想知道我应该使用什么图形 API/图层来执行此操作:SDL、OpenGL 或 DirectX(我目前的选择是 SDL)。我将如何实现并行状态?使用并行线程?

编辑(澄清更多):
操作系统——Windows(因为这是一个爱好项目,以后可能会在 Linux 中这样做)
图形——2D 语言——C++(必须是 C++——这是下学期课程的练习)

Q-Answered: SDL : OpenGL : Direct X
Q-Answered: Avoid Parallel Processing
Q-Answered: 使用 STL 实现时间步操作。

附加到这个问题,我以前主要使用过 C#、PHP 和 Java,所以我不会将自己描述为一个能手的程序员。哪些 C++ 特定知识可以帮助我更轻松地完成这个项目?(即向量?)

0 投票
4 回答
6252 浏览

c# - 有没有一种在 Direct3d 中绘制凹多边形的有效\简单方法

我正在尝试使用 c# 和 directx 绘制多边形

我得到的只是文件中点的有序列表,我需要在 3d 世界中绘制平面多边形。

我可以使用三角扇和drawuserprimitives加载点并绘制凸形。

当多边形非常凹(可能是)时,这显然会导致错误的结果。

我无法想象我是唯一一个解决这个问题的人(虽然我是 gfx/directx 新手——我的背景是 gui\windows 应用程序开发)。

任何人都可以指出一个简单的资源\教程\算法可以帮助我吗?

0 投票
2 回答
4731 浏览

c# - 为什么有些 wav 文件可以在我的 c# directsound 应用程序中播放,而有些则不能?

我有一个 ac# 应用程序,可以通过 directsound 播放简单的 wav 文件。使用我拥有的测试数据,代码运行良好。但是,当我使用真实世界的数据时,它在创建辅助缓冲区时产生了一个非常无用的错误:“ArgumentException:值不在预期范围内。”

测试 wav 具有 512kbps 的比特率、16bit 的音频采样大小和 32kHz 的音频采样率。新的 wav 分别为 1152kbps、24bit 和 48kHz。如何让 Directsound 处理这些较大的值,或者如果不是,我如何在尝试播放文件之前以编程方式检测这些值?

它是我正在使用的托管 DirectX v9.00.1126,我在下面包含了一些示例代码:

附加信息:真实世界的 wav 文件也不会在 windows 媒体播放器中播放,告诉我需要编解码器才能播放文件,而它们在 winamp 中播放正常。

附加信息 2:比较工作测试数据和不良真实数据的字节,我可以看到在 RIFF 块之后,不良数据有一个“bext”块,互联网告诉我是与广播相关的元数据音频扩展,而测试数据直接进入 fmt 块。/is/ 坏数据中有一个 fmt 块,所以我不知道它是否格式错误,或者加载程序是否应该进一步寻找 fmt 数据。我可以看看我是否可以从向我提供数据的人那里获得有关此 rouge bext 块的一些信息 - 如果他们可以删除它,我的代码可能仍然有效。

0 投票
1 回答
18684 浏览

directx - 从 Direct3D 纹理和表面进行回读

我需要弄清楚如何将数据从 D3D 纹理和表面返回到系统内存。做这些事情的最快方法是什么以及如何做?

此外,如果我只需要一个子区域,如何只读回该部分而不必将整个内容读回系统内存?

简而言之,我正在寻找有关如何将以下内容复制到系统内存的简明描述:

  1. 纹理_
  2. 纹理
  3. 一个表面
  4. 表面
  5. 一个D3DUSAGE_RENDERTARGET 纹理
  6. D3DUSAGE_RENDERTARGET 纹理

这是 Direct3D 9,但也将不胜感激有关较新版本的 D3D 的答案。

0 投票
8 回答
8328 浏览

opengl - 对于非游戏来说,OpenGL 仍然比 Direct3D 更好吗?

标准模型是 OpenGL 用于专业应用程序 (CAD),而 Direct3D 用于游戏。

随着 openGL 3.0 的崩溃,openGl 仍然是技术 3D 应用程序 (cad/GIS) 的自然选择吗?
是否有 Direct3D 的场景库?

(当然 Direct3D 只是 windows。)

0 投票
4 回答
6134 浏览

wpf - 如何将 WPF 的 D3DImage 与托管 DirectX 或 XNA 一起使用?

我真的很想学习一些 D3D 编码,但是我最近没有时间学习 C++ 来完成一个爱好项目。

0 投票
4 回答
15116 浏览

c# - 如何在透明窗口中绘制透明 DirectX 内容?

我想绘制 DirectX 内容,使其看起来漂浮在桌面和任何其他正在运行的应用程序之上。我还需要能够使 directx 内容半透明,以便其他内容显示出来。有没有办法做到这一点?

我正在使用带有 C# 的托管 DX。

0 投票
6 回答
8514 浏览

directx - DirectSound 是 Windows 的最佳音频抽象层吗?

DirectSound 是 Windows 的最佳音频抽象层吗?将我的应用程序从构建到特定芯片组的非常糟糕的声音实现切换到抽象层。

应用程序是本机 Winform,.net 3.5。DirectX/DirectSound 是可能的选择,但有点担心开销。还有其他选择吗?或者考虑其他事情是愚蠢的?

0 投票
2 回答
4390 浏览

image-processing - 使用 DirectX 调整图像大小的示例代码

我知道这是可能的,而且比使用 GDI+ 快得多。但是,我还没有找到任何使用 DirectX 调整图像大小并将其保存到磁盘的好例子。我在 GDI+ 中一遍又一遍地实现了这一点,这并不难。但是GDI+没有使用任何硬件加速,我希望通过接入显卡来获得更好的性能。

0 投票
1 回答
708 浏览

directx - Direct3D 相机纵横比/缩放问题

我正在使用 SlimDX/C# 编写 Direct3D 应用程序。我按照文本框的方式配置了相机:

Matrix.RotationYawPitchRoll画法和旋转法都不错mesh.DrawSubset(0)。其他一切看起来都很正常。

我的问题是我的 3d 网格(薄方形框),当从侧面看并垂直站立时,它看起来比水平时更厚。我试图将其更改AspectRatio为 1,情况更糟。所以通过反复试验,我发现它AspectRatio在 2.6 左右时看起来很正常。为什么会这样,可能有什么问题?