DirectX swapchain闪烁C ++

时间:2013-07-25 03:04:54

标签: directx

我正在使用DirectX允许用户在Win8应用中“着色”/绘制。大部分绘图代码类似于MS的油墨绘图样本。

长度道歉。我正在努力简要描述这个问题。

我遇到的问题是,当用户使用InkStroke在实时绘图模式下绘制新行时,对于要添加的片段,新行不可见(当鼠标移动时整理段闪烁然后消失)。当我释放鼠标时,它会加入我正常渲染的Strokes集合。也就是说,一旦你画了一条线,你试图绘制的图像看起来很好/可见/就像你画的那样。

我把它作为一个独立的C ++桌面应用程序正常工作。但是,然后我将SwapChainPanel连接到一个XAML页面,该页面也有一个菜单。那是问题出现的时候。他们使用XAML菜单选择要着色的图像,并使用桌面应用程序代码将页面切换为“绘图模式”。相同的SwapChainPanel处理XAML页面和绘图缓冲区上的上下文切换。 我认为问题在于XAML页面使用与绘图缓冲区相同的SwapChainPanel。这干扰了调用“m_d3dContext-> CopyResource(_currentBuffer.Get(),_ previousBuffer.Get());”这就是为了绘制而捕获“当前被绘制”线的其余部分的其余部分。

我该如何解决这个问题?有没有一个解决方案,不涉及将它分成2个XAML页面(一个用于菜单,一个用于绘图),每个页面都有自己的SwapChainPanel?即使这是最好的方法,有没有办法在一个XAML页面上做到这一点?

0 个答案:

没有答案