问题标签 [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 投票
3 回答
1746 浏览

language-agnostic - 使用 DirectX 或 OpenGL 显示 100 个浮动立方体

我想使用DirectXor显示 100 个浮动立方体OpenGL

我正在寻找一些示例源代码或该技术的描述。我无法正确显示多个立方体。

我在网上搜索了一系列很好的教程,虽然他们谈论如何做3D原语,但我找不到关于如何做大量3D原语的信息 - cubesspherespyramids等等。

0 投票
2 回答
9462 浏览

c# - C# 和箭头键

我是 C# 新手,正在现有应用程序中做一些工作。我有一个 DirectX 视口,其中包含我希望能够使用箭头键定位的组件。

目前我正在覆盖 ProcessCmdKey 并捕获箭头输入并发送 OnKeyPress 事件。这可行,但我希望能够使用修饰符(ALT++ CTRLSHIFT。只要我拿着一个修改器并按下一个箭头,就不会触发我正在听的任何事件。

有没有人对我应该去哪里有任何想法或建议?

0 投票
4 回答
1036 浏览

graphics - 在 DDS 文件中,您可以检测 0/1 alpha 位的纹理吗?

在我的引擎中,我需要能够检测具有 0 alpha 纹素的 DXT1 纹理(例如,窗口框架的切口)。这对于我自己压缩的纹理很容易,但我不确定已经压缩的纹理。

有没有一种简单的方法可以从标题中判断 DDS 图像是否包含 alpha?

0 投票
7 回答
5939 浏览

video - 如何对 DirectShow 图形进行逆向工程?

我有一个 DirectShow 图来从网络流中渲染 MPEG2/4 电影。当我通过手动连接引脚来组装图形时,它不会呈现。但是当我在 GraphBuilder 上调用 Render 时,它渲染得很好。

显然,我没有在 GraphBuilder 正在执行的图中的某些过滤器上执行一些设置步骤。

有没有办法在 GraphBuilder 组装图形时查看调试输出?

有没有办法转储工作图以查看它是如何组合在一起的?

解开 DirectShow 盒子中的谜团还有其他想法吗?

谢谢!-Z

0 投票
3 回答
3277 浏览

directx - 远程查看 DirectX 应用程序

我们正在开发一个通过 Direct3D 可视化显示信息的应用程序。延迟的客户端请求是通过某些远程桌面解决方案查看此应用程序的能力。

有没有人做过类似的事情?哪些选项可用/不可用?我在想 RDC、VNC、Citrix ......

有什么建议吗?

0 投票
20 回答
6753 浏览

windows - 用于新的 Windows 游戏项目的 OpenGL 或 Direct3D?或者是其他东西?

我正在 Windows 上开始一个爱好游戏项目,它将大量使用 3D 图形效果。它很可能是用 C++ 编写的。

我应该为我的图形后端使用 OpenGL 还是 Direct3D?为什么?

还是应该使用现成的图形引擎,例如OGRE 3D?哪一个?

一些“如何开始”链接会很有用。(在任何一种技术上,或两者兼而有之。)

编辑- 是的,我真的是指 Direct3D,而不是 DirectX,感谢graham.reeds的澄清

编辑- Mihai Lazar指出我还可以使用 OGRE 3D 等图形引擎。编辑了问题以反映这种选择。

0 投票
9 回答
7517 浏览

c++ - 是否可以在 Linux 中开发 DirectX 应用程序?

更多的是出于兴趣,但是您可以在 linux 下编译 DirectX 应用程序吗?

显然没有官方的 SDK,但我认为可以使用 wine。

大概wine为了运行游戏而实现了DirectX接口?是否可以链接反对?(编辑:这称为 winelib)

如果做不到这一点,可能是一个 mingw 交叉编译器,该应用程序在 wine 下运行。

一半在这里回答了我自己的问题,但想知道是否有人听说过这样的事情?

0 投票
2 回答
353 浏览

c++ - 升级显卡时会导致帧速率降低的原因是什么?

我们有一个两屏 DirectX 应用程序,之前使用 NVIDIA 8400GS (256MB) 以一致的 60 FPS(显示器同步速率)运行。但是,当我们将显卡换成 512 MB RAM 时,帧速率很难达到 40 FPS 以上。(它之所以这么高,是因为我们使用了三重缓冲。)这两张卡来自同一制造商 (PNY)。所有其他条件都相同,这是一个 Windows XP Embedded 应用程序,我们从每张卡的新图像开始。驱动程序版本号为 169.21。

应用程序都是 2D 的。IE 只是一堆纹理四边形和一大堆预渲染图形(因此需要升级卡的内存)。我们还拥有 CPU 动态解码的压缩动画 - 这涉及纹理锁定。锁定需要永远,但我也尝试使用单独的系统内存纹理供 CPU 更新,然后使用设备的 UpdateTexture 方法更新渲染的纹理。性能上没有总体差异。

尽管我已经阅读了我在 Internet 上可以找到的有关 DirectX 性能的所有常见问题解答,但这仍然是我第一次从事 DirectX 项目,因此您所拥有的任何神秘知识都会很有用。:)

当我谈到这个主题时,还有一件事;在交换链上调用 Present 时,无论我在当前参数 (PresentationInterval) 和调用本身的标志中都使用 D3DPRESENT_DONOTWAIT 的事实,DirectX 似乎都在等待当前完成。因为这是一个双屏应用程序,所以这是一个问题,因为两个监视器似乎没有同步锁定,我正在通过线程池运行 Present 调用来解决它。造成这种情况的根本原因是什么?

0 投票
3 回答
511 浏览

graphics - 同时支持 DirectX 9 和 10 的应用程序

对于任何图形程序员,我都有一个愚蠢的问题。

我很困惑某些游戏(如孤岛危机)如何同时支持 DirectX 9(在 XP 中)和 10(在 Vista 中)?

到目前为止我的理解是,如果你写一个 DX10 应用程序,那么它只能在 Vista 中运行。

也许他们有 2 个代码库——一个用 DX9 编写,另一个用 DX10 编写?但这不是矫枉过正吗?

0 投票
2 回答
875 浏览

directx - 如何使用 Direct3D 使灯光在世界上保持固定

我已经使用 OpenGL 很多年了,但是在第一次尝试使用 D3D 之后,我浪费了大量时间试图弄清楚如何让我的场景灯光保持固定在世界上而不是固定在我的对象上。

在 OpenGL 中,灯光位置会像使用 MODELVIEW 矩阵的其他所有内容一样进行转换,因此要在空间中固定灯光,您可以按照您想要的灯光方式设置您的 MODELVIEW,然后调用 glLightPosition,然后为您的几何体设置它并进行几何体调用. 在 D3D 中这无济于事。

(评论——我最终想出了这个问题的答案,但我在网络或 MSDN 上找不到任何有用的东西。如果我当时能找到这个答案,它会节省我几个小时的时间。 )