将资源存储在GPU上的Direct2D中

将资源存储在GPU上的Direct2D中,direct2d,Direct2d,有没有办法将Direct2D中的“场景”存储在GPU上 我正在寻找类似于ID2D1Mesh(即以矢量格式存储资源,而不是作为位图)的东西,但我可以在其中配置网格/场景/资源是否应使用抗锯齿进行渲染。有一种方法可以使用ID2D1Mesh获得抗锯齿,但这并不简单。您必须自己创建Direct3D设备,然后使用ID2D1Factory::CreateDxgiSurfaceRenderTarget()。这允许您直接配置D3D设备的多重采样/抗锯齿设置,然后网格可以很好地进行渲染(事实上,我认为您应该总是告

有没有办法将Direct2D中的“场景”存储在GPU上


我正在寻找类似于
ID2D1Mesh
(即以矢量格式存储资源,而不是作为位图)的东西,但我可以在其中配置网格/场景/资源是否应使用抗锯齿进行渲染。

有一种方法可以使用
ID2D1Mesh
获得抗锯齿,但这并不简单。您必须自己创建Direct3D设备,然后使用
ID2D1Factory::CreateDxgiSurfaceRenderTarget()
。这允许您直接配置D3D设备的多重采样/抗锯齿设置,然后网格可以很好地进行渲染(事实上,我认为您应该总是告诉Direct2D使用锯齿渲染)。我自己并没有这样做,但有一个MSDN示例演示了如何做到这一点。这不是为胆小的人准备的。。。为了进行软件渲染,你必须初始化一个扭曲设备。然而,它确实有效


此外,在Direct2D 1.1(Windows 8或Windows 7+平台更新)中,您可以使用
ID2D1CommandList
界面进行录制/播放。我不确定这是以“编译到GPU”(ala mesh)的形式实现的,还是仅仅是宏(命令的记录/回放)。

有一种方法可以通过
ID2D1Mesh
获得抗锯齿效果,但这并不简单。您必须自己创建Direct3D设备,然后使用
ID2D1Factory::CreateDxgiSurfaceRenderTarget()
。这允许您直接配置D3D设备的多重采样/抗锯齿设置,然后网格可以很好地进行渲染(事实上,我认为您应该总是告诉Direct2D使用锯齿渲染)。我自己并没有这样做,但有一个MSDN示例演示了如何做到这一点。这不是为胆小的人准备的。。。为了进行软件渲染,你必须初始化一个扭曲设备。然而,它确实有效


此外,在Direct2D 1.1(Windows 8或Windows 7+平台更新)中,您可以使用
ID2D1CommandList
界面进行录制/播放。我不确定这是作为“编译到GPU”(ala mesh)实现的,还是仅仅是宏(记录/回放命令)。

Rick的正确之处在于,您可以在两个不同的级别应用抗锯齿。通过Direct2D或Direct3D。你可以同时做这两件事,但那是毫无意义的,只会浪费资源,导致糟糕的结果。如果需要每个基本体几何体感知的抗锯齿,则Direct2D抗锯齿是合适的。如果您想在某些情况下牺牲一点质量以获得更好的总体性能,Direct3D抗锯齿非常有用


Direct2D 1.1命令列表逐字存储/记录可针对不同目标回放的绘图命令列表。这可能是你想要的,因为它没有光栅化。从概念上讲,这就像在设备内存中存储矢量图像。命令列表有一定的局限性,因为一旦创建,您就无法修改命令列表,并且绘制的资源也可能不会更改,但它仍然非常方便。

Rick的正确之处在于,您可以在两个不同的级别应用抗锯齿。通过Direct2D或Direct3D。你可以同时做这两件事,但那是毫无意义的,只会浪费资源,导致糟糕的结果。如果需要每个基本体几何体感知的抗锯齿,则Direct2D抗锯齿是合适的。如果您想在某些情况下牺牲一点质量以获得更好的总体性能,Direct3D抗锯齿非常有用


Direct2D 1.1命令列表逐字存储/记录可针对不同目标回放的绘图命令列表。这可能是你想要的,因为它没有光栅化。从概念上讲,这就像在设备内存中存储矢量图像。命令列表有一定的局限性,因为一旦创建,您就无法修改命令列表,并且绘制的资源也可能不会更改,但它仍然非常方便。

在Windows 8.1中,引入了Direct2D,它允许您存储几何体的细分版本,然后使用或不使用抗锯齿将其渲染回来,就像你问的。强烈建议不要使用网格。命令列表虽然方便,但与您自己创建和存储几何体实现的缓存功能不同。

在Windows 8.1中,引入了Direct2D,它允许您存储几何体的细分版本,然后按照您的要求使用或不使用抗锯齿将其渲染回来。强烈建议不要使用网格。命令列表虽然方便,但与自己创建和存储几何体实现的缓存功能不同。

ID2D1CommandList
被证明非常快速且易于使用。
ID2D1CommandList
被证明非常快速且易于使用。