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

c# - 启用 Alpha 混合时几何不正确

我有一个通过 alpha 混合实现启用透明度的测试应用程序。该应用程序是使用 SlimDX 在 C# 中构建的。但是,在我的一个应用了 alpha 混合的对象上,我得到了一个奇怪的“缺失三角形”效果(见下文)。

在此处输入图像描述

该物体几乎是一个圆柱体。

我想知道在 3D 计算机图形学和/或使用 alpha 混合方面更有经验的人是否能够指出我正确的方向,所以我可能会理解这个结果 - 并希望将其删除。

编辑

我尝试使用与顺序无关的混合着色器,得到了相同的结果。看起来好像像素/片段由于深度测试失败而被丢弃。这对我来说没有任何意义。

0 投票
1 回答
1214 浏览

antialiasing - SLIMDX 抗锯齿

我尝试从我在互联网上找到的教程中获得高质量的抗锯齿(http://www.rkoenig.eu/index.php?option=com_content&view=article&id=21:chapter-3-das-erste-echte-3d -objekt&catid=6:directx10-basics&Itemid=3)。但是没有达到很好的解决方案。

我已经将多重采样设置为最大值:

在我看来,渲染图像的像素大小大于我屏幕的实际像素大小。

非常感谢您的宝贵意见

这是完整的代码:

0 投票
1 回答
849 浏览

c# - 使用 SlimDX 呈现 Direct3D 内容时未呈现 WPF UI

我正在开发一个项目,我在 WPF 应用程序中托管了一个 D3DImage。我在 D3DImage 上呈现了其他 WPF 控件,每个控件都具有透明背景。但是,当我渲染我的场景时,我的 UI 会消失,直到我将鼠标悬停在控件上(可能会强制它们重新渲染)。

我知道这不应该是一个问题,因为我最近完成了这个没有这个问题,但我不再有那个项目,所以我无法比较我的代码。如果有人对这可能是什么有任何想法,我全神贯注。明天早上我将创建一个小型测试项目来尝试重现此问题;所以我会更新这个问题。

编辑 我已经设法重现了我在一个简单项目中遇到的问题,可以在这里下载。注意:要运行该项目,您需要安装最新的 SlimDX。

编辑 在该测试项目中注释掉对 D3DImage.AddDirtyRect(...) 的调用会导致 UI 被正确绘制。但是,当旋转对象(以及随后在更新旋转时重新渲染 3D 内容)时,UI 会闪烁并且不会始终重新绘制。

0 投票
1 回答
435 浏览

c# - 将 C# 结构编组到 DX11 cbuffers

我在(我认为)用 C# 打包我的结构并将它们传递给我在 HLSL 中注册的 cbuffers 时遇到了一些问题。当我以一种方式打包我的结构时,信息似乎能够传递给着色器:

当我创建这个结构并将其设置为我在 C# 中的常量缓冲区时,它似乎工作得很好。我得到了我期望的返回颜色:

但是,当我使用另一个结构将结构更改为结构时,它似乎设置正确。请注意,内部结构将包含额外的信息,但我现在试图尽可能地简化它:

在 HLSL 中

你认为我打包结构的方式有问题吗?或者问题可能出在其他地方,我只认为这是我的包装,因为当我使用 TestStruct 设置常量缓冲区时,我可以让第一个示例工作,但是一旦我将其扩展为包含 InternalTestStruct 它似乎没有工作。

任何帮助都会很棒。

提前致谢。

0 投票
1 回答
2638 浏览

c# - 使用 SlimDX 从 RGBA 值创建纹理

这是我第一篇关于堆栈溢出的帖子!我正在将 SlimDX 用于我的团队正在制作的游戏,但我遇到了问题。我正在尝试从 Color4 对象中的 RGBA 值创建一个 ShaderResourceView。我已经搜索了我的问题的答案,这就是我所得到的。

我相信正在设置纹理的数据,但我不能确定,因为没有显示任何内容。我知道我的渲染器可以正常工作,因为我可以很好地从文件加载纹理,但我似乎有一个我找不到的问题。提前感谢您的帮助!

0 投票
1 回答
164 浏览

deployment - .net 应用程序抛出 TypeLoadExceptions 或说并行配置无效等

我仅将其发布为可能最终处于相同情况的其他人的参考,并且由于我花了将近 3 天的时间试图找出问题的根本原因,因此我认为在此处发布解决方案是个好主意。

我的情况如下: 我尝试为 .net 应用程序构建部署包,并在尝试在 vanilla 测试机器上运行时遇到 TypeLoadExceptions、FileNotFoundExceptions(关于 DLL)、Side-By-Side 配置错误等。

[编辑]:stackoverflow 不会让我在发布后 8 小时内回答我自己的问题,答案会在大约 8 小时内出现;)

0 投票
0 回答
1656 浏览

c# - 如何在 SlimDX / DirectX11 中设置视图/世界矩阵

我正在尝试在 SlimDX.Direct3D11 中实现一个简单的 FPS 相机,它是我从旧 XNA 项目中带来的。我不知道如何设置结果视图矩阵或任何矩阵。

我发现的所有教程都使用了 C++ 和 SlimDX 中没有的函数或类。有谁知道比 SlimDX 主页上的三个例子更多的例子吗?

这是我的顶点着色器

并加载它们

0 投票
1 回答
83 浏览

c# - 永久等待调用中的应用程序

我在应用程序的主线程中调用一些图形方法时遇到问题。我使用 SlimDX 在我的窗口控件中进行渲染。使用表单在主线程中执行图形代码Invoke。通常这可以正常工作,但有时(没有固定的时间间隔)应用程序冻结并且调试器告诉我应用程序处于等待状态。

代码如下:

窗口 (a System.Windows.Forms.Fom) 使用 SlimDXs 运行MessagePump.Run

我看过其他Dispatcher.Run建议的帖子,但实际上只是阻止了整个线程而不运行任何渲染。

这种行为的原因是什么?

谢谢和问候

0 投票
1 回答
910 浏览

c# - 投影和剪裁问题?

我目前正在使用 C# 开发 Direct3D 11 渲染引擎。

我已经成功地绘制了三角形,应用了颜色和纹理等。我现在要显示的对象是一个边长为 1 的旋转立方体,放置在世界空间的原点。但是在应用视图,尤其是投影矩阵时,我得到了不满意的结果。由于很难解释,我只是向您展示不同视图/投影组合得到的结果:


我的顶点着色器中的 HLSL 片段:

我使用的世界矩阵:


测试A

从原点沿正 z 方向的简单视图向量。没有使用投影。您可以看到立方体的背面正在被剪裁。

后角被剪掉的立方体


测试 B

视图矩阵保持不变,但现在我使用的是正交投影矩阵。这一次立方体的前面消失了。您可以看到的部分是在测试 A 中剪裁的部分。

前角被剪掉的立方体


测试 C

再次没有投影,就像在测试 A 中一样。这次是从负 z 方向三个单位的点观看场景。当相机位置未设置为系统原点时,立方体看起来会变形。我认为还有一些剪辑。

扭曲的立方体


测试 D

最后,我使用透视投影。到目前为止,我还没有找到可以看到立方体任何部分的相机位置。我得到的只是全屏矢车菊蓝。

立方体没有可见部分


我要做的第一件事是绘制完整的立方体 - 没有剪裁。我尝试了近/远平面值的不同组合,但找不到可接受的解决方案。我的最终目标是进行透视投影。但正如你所见,我什至无法很好地看到场景的正交视图。

0 投票
2 回答
3595 浏览

camera - 相机(LootkAt + 正交投影)不想工作 [SlimDX / D3D9]

我真的不明白“相机”如何与 D3D9 一起工作

首先,我如何设置我的相机:

我的顶点:

有用。我可以移动相机,变焦等。

但是相机属性对我来说似乎很奇怪!我认为它会是这样的:

但是使用该参数它不起作用。如果我为我的计划更改 Z 坐标也是一样的(需要设置为 0 才能工作)。

现在,我尝试渲染其他对象。我为一个球体生成顶点(它在 D3D 10 上工作正常,在 (0;0;0) 周围生成一个半径为 1 的球体),但屏幕上什么也没有出现

我玩过眼睛和观察参数,但我可以弄清楚如何让它工作,那么,我做错了什么?