问题标签 [sharpdx]

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 回答
479 浏览

c# - SharpDx 获取 Texture2D,SamplerState 的着色器变量名称

我想知道是否可以获得 Texture2D 和 SamplerState 的变量名称。我知道我能够通过效果框架获得这些。但我正在寻找一种没有这个框架的方法。就像使用 Constantbuffers (ShaderReflection) 的方式一样。我想像这样制作 HLSL 代码

有谁知道我如何能够在没有 EffectsFramework 的情况下访问 VariableNames?

0 投票
1 回答
189 浏览

visual-studio-2012 - Windows Store App项目引用的类库中使用的第三方库必须引用

VS2012解决方案中有2个项目:

  1. Windows 商店应用程序;
  2. 类库(适用于 Windows Store App);

第一个项目对第二个项目有参考。第二个项目有第三方库的参考(在我的例子中是 SharpDX 库)。

构建时有2个错误:

错误 1​​无法解析程序集或 Windows 元数据文件 'SharpDX.dll' {1st project path}

错误 2类型 Universe 无法解析程序集:SharpDX,Version=2.5.0.0,Culture=neutral,PublicKeyToken=null。

如果我添加到 SharpDX.dll 库的第一个项目引用,则没有错误。

但是为什么我必须在不使用 lib 的项目中引用 lib 呢?

是某些 WinRT 功能还是错误?

对 VS2012 的这种行为有些恼火。

0 投票
1 回答
1159 浏览

c# - 使用 SharpDX/Direct2D 右对齐文本

我有一些代码来绘制一些文本:

文本从目标矩形的左上角开始绘制。有什么方法可以使文本右对齐?

0 投票
1 回答
484 浏览

wpf - 使用着色器进行长时间计算而不会导致延迟

我正在尝试将 Compute Shader 与 DirectX 11 一起使用来进行一些简单但昂贵的计算(想想 Mandelbrot Set)。计算结果放置在纹理上并且不重叠。它不是实时的,因为预计需要 1 到 10 秒,但它会在完成后立即显示在 UI 上。

我通过http://directx4wpf.codeplex.com/使用 WPF 和 SharpDX 。该库有一个带有 RenderScene 函数的 DX11 视图对象,其中调用 DX 渲染函数(包括计算机着色器)并在主线程中运行,据我了解,它被尽可能频繁地调用(将尝试最大化 FPS )。显然,坚持使用计算机着色器是没有选择的,因为如果它也使用 GPU,它将阻塞主线程以及 UI 的其余部分,甚至操作系统的其余部分。

问题是,我应该如何执行这些计算而不会导致应用程序其余部分的 UI 出现任何延迟

如果这纯粹是在 CPU 上运行,我只会运行一个单独的线程。但是,根据我对 GPU 的基本了解,我目前的印象是 GPU 不太适合调度/上下文切换。因此,即使我在另一个线程上运行计算(在 DX11 中使用延迟渲染),计算仍然会阻塞 GPU,直到它完成。那是对的吗?

我试图将计算着色器的工作拆分成更小的部分(大约 8000 个线程)。这是可行的,没有底层几何体,我每次调用计算着色器时都可以添加一个偏移量。这实际上不起作用,因为开销很大。事实上,将工作分成 N 块(通过连续调用计算着色器 N 次)似乎会导致线性减速 N 倍。我不确定这是否是因为上面链接的 WPF 库 SharpDX ,或者只是关于使用 GPU 的一个不可避免的事实。

任何人都有关于如何在这种情况下进行的建议,也许是做类似事情的示例项目,或者可能是阅读的好资源?我在做任何错误的假设吗?

0 投票
0 回答
1763 浏览

c# - SharpDX Direct2D DrawBitmap 平滑图像

有谁知道如何平滑下面这两个黄色图形的边缘?下面还有原图。

这是从磁盘加载 BMP 的代码。

绘制图像的代码

...

在此处输入图像描述

在此处输入图像描述

0 投票
2 回答
669 浏览

graphics - “单实例”的硬件实例化的缺点

我正在编写一个带有静态和动画(包括骨骼动画)网格的 3D 图形应用程序(使用 SharpDX)。有些网格每帧只会渲染一次,有些会被渲染很多次。为了加快渲染速度,我计划利用硬件实例化。

我没有实现实例化和非实例化渲染例程并为每个网格选择正确的渲染例程,而是想到简单地对所有网格使用实例化渲染会更容易。

假设目标硬件支持硬件实例化,使用硬件实例化绘制所有网格是否有任何缺点,即使它们每帧只出现一次?

0 投票
1 回答
724 浏览

c# - 使用 XAudio2 循环播放 xWMA 声音

我正在使用 SharpDX 通过 XAudio2 播放声音,并且在一定范围内循环 xWMA 文件时遇到问题。使用 xWMA 文件时,LoopBegin 和 LoopLength 的值似乎被完全忽略了;它总是循环整个声音文件。

然而,在 WAV 文件中,这些值按预期工作。

我已经在阅读http://msdn.microsoft.com/en-us/library/windows...er%28v=vs.85%29.aspx

但我相信我已经满足了 PlayBegin、PlayLength、LoopBegin、LoopLength 等值的所有标准。

我在这里缺少的有关 xwma 数据的任何具体信息?

我正在使用这个函数来设置样本中的值,因为我所有的文件都有 44100KhZ

我在 Windows 7,.NET4.0

0 投票
2 回答
1498 浏览

windows-phone-8 - SharpDX 在 Windows Phone 8 中加载纹理

我正在创建一个 Windows Phone 8 应用程序,并且正在使用 SharpDX 加载纹理。

我尝试使用加载 PNG,Content.Load<Texture2D>("filename.png")但出现错误,我意识到 Windows Phone 8 中的 SharpDX 只接受 DDS 纹理,不接受 PNG/JPEG/BMP 等。我已经将我的 PNG 转换为 DDS 使用texconv filename.png并将文件添加到我的解决方案中,就像我在项目中使用的其他文件一样(我可以正确加载)。当我运行我的应用程序时,我遇到了一个异常:

{SharpDX.Serialization.InvalidChunkException: Unexpected chunk [DDS /0x20534444] instead of [TKFX/0x58464B54] at SharpDX.Serialization.BinarySerializer.BeginChunk(FourCC chunkId)}

好吧,我已经使用该texconv工具将我的有效 PNG 转换为 DDS。我看是文件格式错误,fourCC码对应的是DDS,应该是这样的。但是 SharpDX 期望 TKFX 格式(工具包效果?)而不是 DDS。为什么?我正在尝试使用Content.Load<Texture2D>not加载纹理Content.Load<Effect>(我也有它来加载着色器并且它工作得很好)。

如果有人知道如何加载 PNG 而不是 DDS,那就更好了!

0 投票
2 回答
7074 浏览

c# - XNA、DirectX 和 Monogame、SharpDX 的区别

我已经学习 C# 一段时间了。我基本上来自非开发背景(意味着我不知道不同编程工具的实际工作)。我刚开始学习 Monogame,但很少有事情让我感到困惑。

首先它说 Monogame 是 XNA 的开源实现。这是什么意思?- 它使 XNA 开源 - 或采用 XNA 的功能并自行实现,但与 XNA 具有相同的功能名称等 - 任何其他

它是允许的和合法的吗?如果是,我可以复制任何应用商店中的任何应用并制作自己的版本吗?它需要有什么不同才能合法?

其次,当我安装 Monogame 时,也安装了 SharpDX。当我搜索它时,我发现 SharpDX 是托管 DirectX(我从未在 DirectX 中工作过)。Monogame 和 SharpDX(或 XNA 和 DirectX)之间有什么联系,我不能单独使用 monogame 或 SharpDX 吗?托管 DirectX 是什么意思?

第三,除了 Xamarin 提供的之外,还有更多的跨平台 C# 框架吗?我找不到更多。

0 投票
1 回答
4045 浏览

memory-leaks - 从 Process Explorer 解释 GPU 信息

我试图在我的 Sharpdx / DirectX 应用程序中寻找可能的内存泄漏。

我从流程资源管理器中获得以下信息,我不知道如何解释。

在此处输入图像描述

  1. 什么是专用 GPU 内存?
  2. 什么是系统 GPU 内存?
  3. 什么是提交的 GPU 内存?