问题标签 [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.
c# - SharpDX.Direct2D1.GeometrySink 是否需要显式处理?
我正在通过 SharpDX 使用 Direct2D 来绘制一些简单的线条图。我创建了一个 PathGeometry,然后调用 Open() 来获取 GeometrySink 并将线条添加到接收器。GeometrySinks 是一次性的,所以我认为我应该这样做:
此代码有效,但 VS 2012 的代码分析说我不应该两次处理 GeometrySink。这里真的发生了吗?也许当我打电话sink.Close()
?如果是这样的话,我应该摆脱这种using()
说法。使用 GeometrySink 的正确方法是什么?
c# - 为什么使用最大化窗口模式时 SharpDX 的 Direct X 内容不呈现?
我正在使用 SharpDx 将 DX 内容呈现给 WPF 应用程序。当我在 VS2010 中将窗口模式设置为最大化时,内容不会显示,直到我手动调整窗口大小。如果我在 VS2010 中将窗口模式设置为正常,它工作正常。这也发生在 SharpDX WPF 示例中。
使用最大化窗口模式时,我可以手动调整窗口大小,然后显示 SharpDX 内容。
使用普通窗口时,我可以使用最大化按钮,一切正常。这只发生在我在 VS2010 中将窗口模式设置为最大化并尝试运行时。
c# - ReportLiveDeviceObjects 向哪里报告?
我不确定 D3D11Device::ReportLiveDeviceObjects 是如何工作的?
当我调用它时,我在输出或控制台中没有看到任何内容。
http://msdn.microsoft.com/en-us/library/windows/desktop/ff476370(v=vs.85).aspx
c# - SharpDx 窗口调整大小
我正在尝试在我的窗口大小更改后立即对后备缓冲区进行更新。所以我的对象不会被拉伸。所以我尝试了这个
更改窗口大小后,我会立即收到此错误。
DXGI_ERROR_IVALID_CALL/InvalidCall
我错过了什么吗?
c# - SharpDX fixed time step issue
I'm using SharpDX 2.5.0 and I have a game class, and I try to disable the fixed time step, however it doesn't seem to work, I still get 59-60 FPS. I'm only drawing a utah teapot, so I'm pretty sure it must work with a lot more (like 1000) FPS. Here is what I do:
Do I forget something? Do I have to apply this change somehow? Or am I doing it in the wrong place (I also tried doing it elsewhere without any success)? Thanks for the answers:
Muad'Dib
c# - 使用 DirectX Texture2D 显示相机预览会导致 Windows Phone 8 上的振荡
我目前正在编写一个小应用程序,它使用 SharpDX sprite 批处理显示手机摄像头的预览。有诺基亚开发者账号的朋友,代码主要来自这篇文章。
问题
有时,似乎先前的帧被吸引到屏幕上(“视频”来回跳跃),一秒钟的断裂,看起来像振荡/闪烁。
我想到了一个线程问题(因为 PreviewFrameAvailable 事件处理程序是由与负责渲染的方法不同的线程调用的),但是在这两种方法中都插入了 lock 语句会使代码太慢(帧速率下降到 15 帧以下/秒)。
有谁知道如何解决这个问题或在这种情况下如何在不损失太多性能的情况下实现线程同步?
代码
首先,创建所有资源,而 device 是 GraphicsDevice 的有效实例:
然后,每当预览帧发生变化时,我都会将数据设置为纹理:
最后,使用 SpriteBatch 绘制纹理,而参数 backBufferCenter、textureCenter、textureScaling 和 Math.Pi / 2 用于在横向中居中和调整纹理:
render 方法由 SharpDX 游戏类调用,该类基本使用 IDrawingSurfaceBackgroundContentProvider 接口,由Windows Phone 8 运行时的 DrawingSurfaceBackgroundGrid 组件调用。
解决方案
除了 Olydis 解决方案(见下文),由于 SharpDX 错误,我还必须将 Game.IsFixedTimeStep 设置为 false(有关详细信息,请参阅GitHub 上的此问题)。
此外,由于跨线程访问,在处理程序内部调用 PreviewFrameAvailable 是不安全的。请参阅windows phone 开发者社区sender.GetPreviewBufferArgb(previewData)
中的相应线程。
c# - 如何直接应用 SharpDX.Toolkit.Graphics.Effect?
我正在使用 SharpDX api 为 Windows Phone 8 / Windows 8 创建一个图像编辑器,并尝试将自定义效果 (SharpDX.Toolkit.Graphics.Effect) 应用于 WriteableBitmap。
效果本身已应用,但结果看起来很奇怪。在我看来,纹理被减少和倒置。
应用效果的代码写在下面。
你知道我在这里做错了什么吗?
此致,
彼得·沃洛申
- - 更新 - -
经过多次测试,我终于发现我做错了什么。我更改了主要的像素着色器函数参数。
从
至
谢谢!
c# - WPF 中 DirectX11 中的 SharpDX 2.5
我正在尝试使用 SharpDX 2.5 在 WPF 中实现 DirectX 11。遗憾的是http://directx4wpf.codeplex.com/和http://sharpdxwpf.codeplex.com/不适用于 SharpDX 2.5。我也无法将 WPFHost DX10 示例移植到 DX11,并且此示例的完整代码包已关闭: http: //www.indiedev.de/wiki/DirectX_in_WPF_integrieren
有人可以建议另一种实施方式吗?
c# - 当我的程序运行时,扬声器发出安静的尖锐声音
在我解释这个之前,我想说我知道这是一个非常模糊的错误,只是我完全不知道是什么原因造成的。
好的,问题是当我的程序运行时,PC 扬声器发出非常安静的尖锐声音(有时很难从扬声器中听到,但使用耳机时很清楚)。即使扬声器静音,也会出现这种刺耳的声音。
我最近开始将 irrKlang 用于我的程序的音频,但这不是由它引起的,因为我检查了我的程序的构建,它没有它并且尖锐的声音仍然存在。
当我的程序处于不同的状态时,声音的音调会发生变化,并且在每个状态下,处理器都会被赋予更多繁重的计算过程。因此,CPU 上的不同负载会导致声音发生变化。
我想不出其他什么来描述它,如果有帮助的话,我可以发布一个指向我的程序的链接,以便有人可以收听。
如果这是任何有用的信息,我正在使用 C# 和 SharpDX(我打算在 SharpDX 论坛上发布一个问题,但它最近关闭了)。
谢谢你的时间!
3d - 如何在 DirectX 11 中统一实现静态批处理
作为一个统一用户,我对如何实现类似于他们的静态批处理的东西感到困惑。多个网格(不同的网格但相同的材质)显示为在 1 个绘制调用中呈现,但是我没有找到如何在 DirectX 中做到这一点。
我可以看到如何使用 Draw() 在 DirectX 中绘图。我知道您可以在一次调用中多次绘制相同的网格(DrawiInstanced()?)但是我不明白如何在一次绘制调用中绘制多个不同的网格。我很想被指出正确的方向,或者给出一个示例,显示一个立方体和一个三角形在共享单一材质的单个绘制调用中渲染。
我正在使用 DirectX11.1 并通过 SharpDX 这样做,首选 SharpDX 示例,但 DX 很好,但是如果正确的方法改变了,则没有 DX9/10 示例,我只对 DX11 感兴趣。
谢谢。