问题标签 [slimdx]

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

lighting - 用 Direct3D9 照明,一切都是黑色的

我正在创建一个简单的应用程序来熟悉 SlimDX 库。我发现了一些用 MDX 编写的代码,我正在尝试将其转换为在 SlimDX 上运行。我的灯有一些问题,因为一切都显示为黑色。代码是:

}

我使用的顶点格式如下

关于问题可能是什么的任何建议?提前致谢

0 投票
2 回答
1983 浏览

c# - XNA 与 SlimDX 用于屏幕外渲染器

我意识到这里有很多关于在 XNA 和 SlimDX 之间进行选择的问题,但这些都与游戏编程有关。

一点背景知识:我有一个从 XML 描述中呈现场景的应用程序。目前我正在使用 WPF 3D,这主要是有效的,除了 WPF 无法在屏幕外渲染场景(即在服务器上,而不在窗口中显示它们),并且渲染到位图会导致 WPF 回退到软件渲染。

所以我不得不编写自己的渲染器。以下是要求:

  • 混合 3D 和 2D 元素。
  • 每个场景的元素相对较少(数十个网格,数十个 2D 元素)。
  • 大型场景(打印最多 3000 像素正方形)。
  • 只会渲染一个帧(即 FPS 不是问题)。
  • 不透明蒙版。
  • 像素着色器。
  • 软件回退(服务器可能有也可能没有像样的 gfx 卡)。
  • 被渲染到屏幕外的可能性。

正如您所看到的,这是非常简单的东西,WPF 可以很好地管理它,除了不能导出场景问题。

特别是我不需要游戏开发中通常需要的许多东西。考虑到这一点,您会选择 XNA 还是 SlimDX?代码的非渲染部分已经用 C# 编写,所以要坚持下去。

0 投票
1 回答
647 浏览

.net - 我可以使用 SlimDX 创建一个依赖于已与 Vista/Win7 捆绑的 DirectX DLL 的应用程序吗?

我正在开发一个需要使用加速图形的 .NET 应用程序,目前是 DirectX 9.0c。该软件是图形密集型软件,此外,必须可以从 CD 或通过 ClickOnce 启动,而无需用户获得管理员权限。

我目前使用 SlimDX,它的功能非常好,但用户对必须安装 DirectX 可再发行组件感到相当恼火。特别是因为这确实需要提升的权限。很难向他们解释为什么已经与他们的操作系统捆绑在一起的 DirectX 版本还不够。毕竟 - DirectX 9.0c 自 2004 年以来就已经存在,而且我没有使用任何新奇的功能。

能够交付在 Vista 或 Windows 7 中“正常工作”的应用程序,而无需任何特定的附加先决条件,这将是一个巨大的优势。

因此:有什么方法可以使用基于 SlimDX 的 DirectX 9.0c 构建应用程序,它仅依赖于标准 Windows Vista/Win7 安装中提供的库?也就是说 - 不需要安装额外的 DirectX 可再发行组件?

如果没有 - 是否有任何其他托管(最好不要放弃)可以用于此目的的 DirectX 包装器?

提前致谢!

0 投票
1 回答
1637 浏览

directx - 一个挂钩的 DirectX 9 程序在窗口调整大小时崩溃,纹理相关

我正在使用 EasyHook 和 SlimDX 使用 SlimDX 的 Sprite 和 Texture 类覆盖一些图形。当我调整窗口大小时,一些程序很好,但其他程序会崩溃 - 例如,Winamp 的 MilkDrop 2 给了我一个模棱两可的内存错误。

我预计这是由于我创建的售后市场纹理。问题是我应该挂钩什么 VTable 函数和/或如何/何时处理和重新创建纹理?也许重置?

如果不是很明显,我对 DirectX 了解不多。

编辑/ps:我在 EndScene 钩子内绘制纹理,但我还没有创建任何其他钩子......

0 投票
1 回答
1394 浏览

directx - SlimDX 与 DX10 共享资源

我正在尝试 DX10 的共享资源功能,因为我的一个项目需要这个功能。但我找不到太多示例或代码,尤其是使用 SlimDX。根据 DX10 文档,我只需要将资源指定为共享,然后我可以使用来自另一个应用程序的 OpenSharedResource() 打开它。在 SlimDX 中使用一个简单的测试应用程序,我做了以下

但我不断收到此错误

我似乎无法弄清楚出了什么问题,因为 tex.ComPointer 可能不是 OpenSharedResource 的正确指针或 Texture2D 不受支持(没有明确提到它不在文档中)

通过指定 pHandle 传递给 CreateTexture 函数的另一种替代方法在 SlimDX 中不可用,或者我不知道。

有没有人成功尝试过这个?一些帮助将不胜感激。

谢谢

0 投票
2 回答
2900 浏览

windows-7 - 如何在 DirectX10 中启用垂直同步

我正在使用 SlimDX 开发基于 DirectX10 的应用程序。我想启用类似于 DirectX9 的 vsync,但 fps 似乎没有锁定到 60Hz(如果我使用的是 Direct9,则会发生这种情况)。我正在使用这个设置 vsync

我做错什么了吗?

顺便说一句,我正在用 ATI HD5570 显卡运行 Win7。经过一番谷歌搜索,我推测 ATI 可以在某些游戏上强制 vsync。所以我想知道这是否相关。

对 C++ 的代码参考也可以。我会自己翻译。

谢谢

0 投票
4 回答
1048 浏览

c# - 我应该使用 WPF 还是 SlimDX?

就是我想要做的:我想要绘制几何图元,也许还有某种形式的3D 图形和图表。我还希望能够自由移动相机。我想在 WPF 或 Windows 窗体窗口中完成所有这些操作,甚至可能渲染到图像。最后,我希望能够以一种相当直接的方式实现这一目标。
所以你怎么看?为此,您会推荐哪个框架?哪一个更容易使用?

0 投票
1 回答
213 浏览

.net - VS2010、Pex 和 SlimDX 之间的兼容性问题

我已经下载了 Pex 的六月位和 SlimDX SDK 的六月位。将它们安装在我的 RTM VS2010 Premium 上。Pex 探索不起作用。恢复到 2010 年 2 月的 SlimDX 位似乎可以解决问题。

我在微软论坛和 SlimDX 论坛上问过同样的问题,双方都不想拥有这个。我怎么能开始解决这个问题?

0 投票
2 回答
2346 浏览

c# - SlimDX:在 Visual Studio 2010 中看不到 Direct3D 调试输出

  1. 我已经安装了 2010 年 6 月的 SDK
  2. 在 DirectX 控制面板中启用调试运行时
    • 将调试输出级别设置为最大值(更多)
  3. 启用非托管代码调试。

结果:Direct3D 的调试输出丢失

但是,如果我从外部启动应用程序并使用 dbgview.exe,则会在此处显示输出。

这可能是什么原因?

0 投票
0 回答
962 浏览

c# - c# slimdx 离屏渲染,输出到多个窗口/监视器

好的,我正在重写这篇文章,因为我有一个非常具体的问题,但我认为解释我想要做什么可能更有用:)

我正在使用 SlimDX 在 WPF 中工作。目标是一个初始化 Direct3D 设备的程序,并且能够将酷炫的 D3D11 gfx 渲染到屏幕外渲染目标。

用户可以添加输出窗口,输出窗口可以在任何连接的监视器上全屏显示,也可以只是一个窗口。一个输出窗口只显示屏幕外后台缓冲区的一部分。所以 - 我有一个非常高分辨率的屏幕外纹理/后缓冲区,我想要零到 N 个输出窗口基本上渲染一个全屏四边形,其中 uv-coords 指定高分辨率纹理中的一个区域。

我的问题是:

  • 在 SlimDX 中,在没有任何输出窗口/交换链的情况下,在主应用程序中初始化 Direct3D 设备的“正确”方法是什么?

  • 一旦我有了一个“全局”的 Direct3D 11 设备,我该如何设置一个离屏渲染目标纹理,我可以在其中渲染很酷的东西?

  • 一旦我有一个屏幕外渲染目标,其中渲染了很酷的东西,我该如何设置一个系统,以便我可以添加/删除显示该渲染目标部分的窗口?(对于每个动态创建/删除的窗口,添加/删除交换链的一部分?)

我知道这些问题非常具体,大多数人不想在后台渲染东西以显示在不同的设备上,但是嘿 - 这就是 stackoverflow 的用途:)