问题标签 [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.
directx - DirectWrite.TextLayout 变换矩阵没有效果
我正在使用 DirectWrite (通过SharpDX)绘制一个 TextLayout 并且它按预期工作,除了几件事。我正在调用这个 TextLayout 构造函数:
http://sharpdx.org/documentation/api/m-sharpdx-directwrite-textlayout--ctor-2
我的代码非常简单:
我可以将变换矩阵更改为任何值,但它对我的输出没有影响。我还发现pixelsPerDip
除了在我指定零时不绘制文本之外没有任何效果。我深入研究了 SharpDX 源,这些输入似乎得到了正确处理。我究竟做错了什么?
我正在使用的 TextLayout 构造函数调用CreateGdiCompatibleTextLayout()
。我正在做/使用的其他事情是否可能与 GDI 不兼容,这会导致我的问题?
c# - GLSL和HLSL之间的模型视图区别?
我想知道 GLSL 和 HLSL 数学之间是否有区别。我正在使用一个自制的引擎,它可以很好地与 openTK 一起使用。我的 SharpDx 实现每天都更进一步。我目前正在研究 ModelviewProjection 矩阵。为了查看它是否有效,我使用了一个可以很好地与 OpenTK 配合使用的简单项目。所以我将 Shader 代码从 GLSL 更改为 HLSL,因为程序的其余部分使用引擎功能。该程序不起作用我看不到几何,所以我将模型视图矩阵和投影矩阵更改为身份矩阵。后来它起作用了,我看到了几何形状。所以我更改了一些 GLSL,因为我想要一个与 HLSL 类似的 GLSL 代码,并且我也将 Matrixes 更改为 identy。之后我没有看到任何不起作用的东西......所以我被卡住了...... 你们有任何想法吗?无论如何,长话短说我的 HLSL 着色器代码
所以我改变了我以前工作的 OpenTk 项目,看看 openTK 和 SharpDx 之间在数学计算方面的区别在哪里。
HLSL 代码
在主代码本身中,我只读取了一个 Obj 文件并设置了标识矩阵
... var mtxRot = float4x4.CreateRotationY(_angleHorz) * float4x4.CreateRotationX(_angleVert); var mtxCam = float4x4.LookAt(0, 200, 500, 0, 0, 0, 0, 1, 0);
两个程序并排
我还应该添加的是,一旦我的 ModelView 标识的值大于 1.5,我的窗口中什么都看不到?有谁知道这可能会导致这种情况?
我编辑了帖子和图片,所以你看到了更大的不同。我在这篇文章的前面有身份矩阵。如果我将身份矩阵与此 Obj 文件一起使用
我在我的 SharpDX 项目中看到了三角形,而在我的 openTK 中没有。但我认为茶壶的东西更好一点,以显示项目中只有 Shadercode 不同的差异!我的意思是我可能在这个Enginge 的SharpDX 实现中做错了,但让我们假设它们是正确的。至少我希望如此,如果你们告诉我 ShaderCode 是错误的;)
我希望我能清楚地描述我的问题,以便您理解。
directx - 使用结构化缓冲区的 Direct3D 10 硬件实例化
我正在尝试使用结构化缓冲区为每个实例数据实现 Direct3D 10+ 的硬件实例化,但我以前没有使用过它们。
我了解在将每个顶点和每个实例数据组合到顶点着色器中的单个结构时如何实现实例化 - 即将两个顶点缓冲区绑定到输入汇编器并调用 DrawIndexedInstanced 函数。
任何人都可以告诉我在使用带硬件实例的结构化缓冲区时绑定输入汇编程序和进行绘图调用等的过程吗?我似乎在任何地方都找不到一个很好的例子。
据我了解,结构化缓冲区绑定为 ShaderResourceViews,这是正确的吗?
c# - 如何调试此 C# 崩溃?
我的 C# 应用程序在此窗口中崩溃。这是一个使用 SharpDX 的 DirectX 应用程序。
我什至不知道从哪里开始调试这个?有小费吗?
当我启用本机代码调试时,崩溃如下所示:
堆栈是:
c# - 使用 SharpDX 从 WAV 编码为 AAC 并从 AAC 解码为 WAV
我想将 WAV 格式的音频流编码为 AAC 格式,并将 AAC 音频流解码为 WAV。我可以用 SharpDX 的MediaFoundation
DLL 实现这个吗?那我该怎么用呢?
c# - 程序已退出,代码为 -1073610751 (0xc0020001)
我在制作的 SharpDX 程序上遇到了一个奇怪的错误。
该程序包含一个 form MainForm
,它继承自SharpDX.Windows.RenderForm
(我正在做 Direct3D 9)。我有一些通过调用杀死程序的逻辑,MainForm.Close()
它运行良好。
但是,当我使用 X 按钮关闭表单或双击屏幕左上角时,程序以代码 -1073610751 (0xc0020001) 结束。
这是一个相对较小的烦恼,因为它只在程序完成时发生,所以它是否因错误退出并不重要,因为它实际上正在完成。
但是,当我在Main()
. 如果我这样做了,然后按照我的解释关闭窗口,断点就会被命中,然后继续以代码 0 结束程序。
除了 SharpDX 和一个纯 C DLL 我调用一次性处理一些数据,我没有做混合代码,或任何其他奇怪的东西。
我环顾四周,但这段代码似乎与字符串绑定有关?其他人在做奇怪的混合 C++/CLI 的东西时似乎有这个问题,但我没有做这样的事情。
有任何想法吗?至少关于如何获得有关此错误代码的更简洁信息?
c# - 将纹理加载到 GPU 以在 SharpDX 中进行着色器处理
我正在尝试使用 SharpDX 在 Windows Phone 8 上使用着色器中的纹理,但我无法将纹理上传到 GPU。我找到了这些:
http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.graphicsdevice.textures.aspx 如何在 XNA 4.0 中将 Texture2D 对象传递给像素着色器?
GraphicsDevice.Textures
不幸的是,我在 SharpDX 中没有可用的属性。我找不到将Texture2D
对象上传到 GPU 的方法。如何在 SharpDX 下将我的纹理上传到 GPU。
windows-phone-8 - Pixel shader with SharpDX and DirectX toolkit outputting pure red color
I am creating a Windows Phone 8 app and I'm working with camera. When I don't use any shader, my C# code works perfectly:
#xA;I am getting camera input in realtime. However, I'm (just trying to passthrough the input) trying to use a pixel shader:
#xA;The shader runs fine (assigning it at the beginning of the sprite batch) with no exceptions etc but all I'm getting is red color. The whole output is pure red. What could be the reason? I am new to shaders and I'm trying to understand how they work, especially with samplers. Thank you.
c# - 使用 SharpDX 进行操纵杆采集
我是 C# 和 Sharpdx 的新手。几天前我遇到了这个代码问题,我不明白方法不起作用!这是一项关于获取操纵杆的一个轴的值并将其显示在表单中的文本框上的简单任务。
我在 Visual Studio 2010 express 上做了一个新项目,我做了一个带有按钮和文本框的表单,用于显示操纵杆轴(X 轴)的值。
这里的第一部分代码是Sharpdx文档上的示例,第二部分有点不同。
问题是每次按下按钮时值都不会改变
出了点问题,但我不知道是什么
c++ - 当 .tkfxo 预期时,sharpdx tkfxc.exe 生成 .tkb 文件
我遇到了一个问题,我根本找不到任何文档。我还下载了 githubsharpdx
解决方案,但没有找到答案。
当我tkfxc.exe
在net40
目录中执行时,.fx
效果编译成功,但正如我在许多论坛上阅读的那样,.tkfxo
应该会生成一个文件。相反,我得到了一个.tkb
文件。
这是我正在使用的命令行命令:
即使我尝试更改文件的扩展名或只是将此文件加载为过滤器,sharpDX 也会说这是无效文件,还有其他一些CHUNK
预期。