我想为用户提供游戏中MSAA选项的选择。 我希望能够检查他们的机器可以提供哪些多重采样选项,并仅显示这些选项。 我正在使用的应用程序是在WinForms中构建的。 它实际上不是游戏本身,而是该游戏的启动器。

我找到了SlimDX.Direct3D11.Device.CheckMultisampleQualityLevels(),但是我不确定如何在WinForms中获得对Direct3D11设备的引用。 https://msdn.microsoft.com/en-us/library/windows/desktop/ff476499%28v=vs.85%29.aspx

#1楼 票数:1 已采纳

您需要遍历所有可能的样本数量,并检查是否至少支持一种质量级别(您需要按照每种格式进行处理):

SlimDX.Direct3D11.Device device; //your created device
SlimDX.DXGI.Format format = SlimDX.DXGI.Format.R8G8B8A8_Unorm; //Replace by the format you want to test, this one is very common still
for (int samplecount = 1; samplecount  < SlimDX.Device.MultisampleCountMaximum ; samplecount *= 2)
{
     int levels = device.CheckMultisampleQualityLevels(format, samplecount );
     if (levels > 0)
     {
         //you can use a sampledescription of
         new SampleDescription(samplecount, /* value between 0 and levels -1 */
     }
     else
     {
         // samplecount is not supported for this format
     }
}

  ask by TheDanman translate from so

未解决问题?本站智能推荐:

1回复

如何在C#中使用SlimDX获得图形卡的多重采样功能?

我想为用户提供游戏中MSAA选项的选择。 我希望能够检查他们的机器可以提供哪些多重采样选项,并仅显示这些选项。 我正在使用的应用程序是在WinForms中构建的。 它实际上不是游戏本身,而是该游戏的启动器。 我找到了SlimDX.Direct3D11.Device.CheckMult
1回复

在SlimDX(D3D9)中实现抗锯齿

我想在绘制三角形时启用抗锯齿,如下图所示: 我在这个页面上找到了一种使用XNA的方法,但我想对SlimDX做同样的事情 。
1回复

多重采样在独占模式下不起作用

我想在绘制三角形时启用多重采样,如下图所示: 我在另一个问题中找到了一种与SlimDX有关的方法,但它不能在独占模式下工作。 这是我的代码: error even if the CheckDeviceMultisampleType return always true wit
1回复

OpenTk-如何启用多重采样

我正在尝试在OpenTK中实现多重采样,但是当我启用它时,没有抗锯齿和多重采样之间就没有区别。 无抗锯齿 启用多采样 这是OnRenderFrame中用于多重采样的代码:
1回复

使用glBlitFramebuffer进行多重采样

这是我第一次尝试使用opengl进行多重采样(用于抗锯齿)。 基本上,我正在为屏幕绘制一个背景(不应该得到消除锯齿),然后我绘制应该消除锯齿的顶点。 到目前为止我做了什么: 问题是:当我调用glBlitFramebuffer(...)时,整个背景变黑,我只看到消除锯齿的顶点。
1回复

SDL多重采样

我一直在尝试使用多重采样工作的SDL FSAA,但它不想这样做。 我从简单的开始: SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS,1); SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES,2);
1回复

SlimDX DirectX10多重采样不起作用

我正在DirectX10中设置我的SlimDX项目,但以某种方式无法进行多重采样。 这是我的设备初始化: 我正在渲染一个简单的盒子。 我也检查了 带有1、2、4、8和16个样本。 每次函数返回1时。但是,当我在SwapChainDescription SampleDescr
3回复

如何使用CheckMultisampleQualityLevels并启用多重采样

我正在学习directx 11并尝试设置多重采样。 出于某种原因,互联网上的每个教程都禁用多重采样,并且永远不会讨论如何启用它。 首先:我已经四处搜索,找不到任何有关如何使用CheckMultisampleQualityLevels 。 您似乎需要创建一个设备,调用该功能,找出可用的级
1回复

在opengl 2.1中使用多重采样抗锯齿?

我有一个带radeon X1600显卡的2007 Macbook pro。 我正在尝试使用多重采样功能来消除锯齿。 使用GlView ,这是我手头的信息: 渲染器信息为: 渲染器:ATI Radeon X1600 OpenGL引擎供应商:ATI Technologies In
1回复

如何在多重采样纹理中渲染颜色和深度?

为了实现“深度剥离”,我将我的OpenGL场景渲染到一系列帧缓冲区中,每个帧缓冲区都配备了rgba颜色纹理和深度纹理。 如果我不关心抗锯齿, 这可以正常工作 。 如果我这样做,那么似乎正确的做法是启用GL_MULTISAMPLING并使用GL_TEXTURE_2D_MULTISAMPLE而不