问题标签 [managed-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 投票
1 回答
718 浏览

c# - 旋转文本 - 托管 DirectX (C#)

我目前正在开发一个带有高度动态 GUI 的小应用程序,它需要大量的刷新和绘图。为了存档,我使用托管 DirectX。我成功地将特定字体的小字符串绘制到特定坐标,但我不知道如何旋转绘制的文本......

有任何想法吗?

谢谢!

0 投票
1 回答
1050 浏览

wpf - D3DImage 是否会导致空域问题?

可以在 WindowsFormsHost 内绘制 DirectX 场景,但此解决方案涉及一些互操作问题,主要是“空域”问题。因此,在为此创建整个框架之前,我想知道,在 WPF 窗口中使用的 D3DImage 是否会导致与 WindowsFormsHost 文档中所述的叠加和大小调整类似的问题?还是设计成完全兼容WPF系统?感谢您的帮助。

0 投票
1 回答
766 浏览

directx - 托管 Direct3D:锁定整个顶点缓冲区

我有一个Mesh返回的对象Mesh::TextFromFont,我正在尝试设置每个顶点的颜色。我这样调用顶点缓冲区的Lock函数:

网格->VertexBuffer->Lock(0, LockFlags::None);

但是,此调用会引发异常。另一个重载Lock似乎工作正常,但是它需要我传递返回的顶点数组的等级。这里的解决方案是什么?如何锁定从返回的网格的顶点缓冲区TextFromFont

0 投票
0 回答
1520 浏览

wpf - 使用 WindowsFormsHost 时 WPF 并不总是重新绘制

我有一个简单的应用程序,它Control使用WindowsFormsHost. 我已经覆盖了中的绘画方法Control以防止闪烁:

有一个计时器会定期使托管 DirectX 无效,Control以便重新绘制它。

我的问题是,当我锁定计算机(WIN+L),然后再解锁时,WindowsFormsHost偶尔出现的 WPF 内容无法完全绘制。在我将窗口完全拖出视图之前,不会绘制它的各个部分。关于为什么 WPF 没有完成重绘本身的任何想法?

抱歉,如果这太模糊而无法解决问题,我无法分享更多源代码。

0 投票
2 回答
289 浏览

c++ - 以托管 DirectX 为起点

我知道管理和非管理 DirectX 之间的区别。我的问题是,如果我决定以托管 DirectX 作为起点,它会帮助我更好地理解非托管 DirectX。老实说,我认为 2 的唯一不同之处在于您如何启动和访问资源。矩阵数学无论如何都是矩阵如果我在托管中学习它,那么我应该在非托管中没问题

0 投票
2 回答
5023 浏览

c# - 使用 MDX 时缺少 Direct3D.dll 依赖项

我已经将一段完美运行的 MDX 代码带到了 Windows 2008R2(安装了所有 DX 驱动程序),并且得到了以下相当奇怪的错误。知道这可能意味着什么吗?

0 投票
1 回答
1582 浏览

c# - 托管 DirectX 相机问题

我对 DirectX 库有点陌生,我想知道是否有人可以帮助我解决相机问题。在我的主表单中,我加载了一组表示 3D 对象的多边形数据,然后将该多边形数据传递给另一个表单,并希望将多边形绘制为三角形列表。不幸的是,我似乎无法让相机达到 1)具有正确的视锥或 2)让相机正确聚焦和调整图像大小。多边形数据正在作为世界坐标数据加载。

下面是初始化二级窗体、directx、camera等的代码。

0 投票
1 回答
239 浏览

direct3d - 无法让模板工作

试图让 Stencil 在我的应用程序中工作。我使用 Sprites 将内容渲染到设备上。内容可以是电影、图片或文字。

我可以使用这些 Sprites 设置模板缓冲区,以便在以后的传递中使用模板来绘制其他正在渲染的 Sprites?

我什至无法通过设置 StencilFunction = Compare.Never 来印出任何 Sprite!我可能做错了什么?

我已经花了几乎一整天的时间查看与 MDX 中的 Stencils 相关的帖子,但就是无法正常工作。

更多的搜索让我找到了一种技术,其中我们绘制了要添加到模板缓冲区的形状的轮廓。在我的情况下真的需要这样做吗?我只想使用精灵,并将它们添加到模板缓冲区以模板化其他精灵。

编辑:好的..所以我想出了如何完成它。参考这篇帖子——http ://www.gamedev.net/community/forums/viewreply.asp?ID =1999276

但是现在精灵忽略了 alpha 值并渲染精灵不透明。类似于我们将 alpha blending 设置为 false 时得到的效果。有任何想法吗?

0 投票
3 回答
37827 浏览

c# - 为什么这段代码会抛出 System.ExecutionEngineException

背景: 我正在使用 DirectX 9.0 托管库将 3d 点数组转换为 2d 屏幕坐标。为了速度,我使用 UnsafeNativeMethods 进行所有转换。

问题: 如果使用了我的自定义线剪辑功能,我的应用程序会死掉而没有抛出任何异常,我花了一段时间才发现它抛出了一个无法捕获 System.ExecutionEngineException的. 由于我的剪辑功能的最后两行,我将其缩小到发生。

verticesAfterClipping列表被复制到lineToClip顶点时,lineToClip对象会被传递给 UnsafeNativeMethod,它将这些顶点转换为 2d 顶点。从我在调试模式下单步执行它时所看到的一切来看,它工作得非常好,直到它死掉。

我根本无法弄清楚出了什么问题。任何帮助将非常感激。

0 投票
1 回答
513 浏览

c# - 在托管 DirectX 中保存非 pow-2 维度屏幕截图

我正在尝试从托管 DirectX 应用程序捕获呈现的屏幕。通常,执行此操作的方法如下:

这(在我的理解中)是以下内容的简写:

问题是在不支持非二维幂纹理的旧显卡上,上述方法失败了。我尝试了许多变通方法,但似乎没有任何方法可以完成保存任意尺寸屏幕截图这个看似简单的任务。例如,以下在 new Bitmap() 上失败并出现无效参数异常(请注意,这需要使用 PresentFlag.LockableBackBuffer 创建设备):

任何提示将不胜感激......我已经用尽了我能想到的一切(或出现在谷歌上)......