问题标签 [msaa]
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.
opengl - 纹理过滤是一种抗锯齿技术吗?
我知道使用 MSAA 的抗锯齿技术,但 MSAA 只能处理边缘,但着色器采样可以处理内部像素。
纹理过滤和着色器采样有什么区别,是不是也是一种抗锯齿技术,比如Bilinear,Trilinear,让图像看起来更平滑?
directx-12 - 是否可以在 DirectX 12 桌面应用程序中将 HDR 与 MSAA 结合使用?
使用 DirectX 12 的 DirectX 工具包,我能够成功编译和运行各个 MSAA 和 HDR 教程示例。但是,当我将 MSAA 和 HDR 组件的相关代码组合到一个Game.cpp文件中时,编译失败并显示调试层消息:
D3D12 错误:ID3D12CommandList::ResolveSubresource:指定的格式与源资源不兼容。格式:R10G10B10A2_UNORM,源资源格式:R16G16B16A16_FLOAT [RESOURCE_MANIPULATION ERROR #878:RESOLVESUBRESOURCE_INVALID_FORMAT]
我正在为 SDR 显示监视器使用 HDR 示例代码,因此需要应用色调映射。关于调用的顺序,我在尝试解析 MSAA 渲染目标之前调用结束 HDR 场景:
然后在 MSAA 解析块之后,我将色调映射语句放置如下:
我发现在设置描述符堆以绘制 2D 精灵(在 3D 场景上)之前尝试色调映射会导致错误:
D3D12 错误:CGraphicsCommandList::SetGraphicsRootDescriptorTable:包含句柄 0x80000253a82ff205 的描述符堆 (0x0000025428203230:'DescriptorHeap') 与当前设置的描述符堆 0x0000025428203540:'EffectTextureFactory' 不同。[执行错误#708:SET_DESCRIPTOR_TABLE_INVALID] D3D12:为上一条消息启用了BREAK,即:[错误执行#708:SET_DESCRIPTOR_TABLE_INVALID]
我承认这是第一次尝试将 HDR 和 MSAA 结合起来相当天真,但我担心这些功能在 DirectX 12 中可能不兼容和/或相互排斥。我理解为什么在 MSAA 解决过程中会出现资源兼容性问题,因为我们需要为 HDR 使用浮点渲染目标。我应该注意,如果我通过将m_msaa boolean 设置为false来跳过 MSAA 代码块,我的程序将使用 HDR 正确运行和渲染。
期待任何人可能有的任何建议。如果需要足够的代码或有关程序的其他详细信息,我很乐意更新我的帖子。
opengl - 如何获取 MSAA 中每个样本的深度?
我想知道是否有一种方法可以获取片段着色器中每个样本的深度。我已经尝试过GL_ARB_sample_shading
扩展,它可以提供样本 ID 和子像素坐标,但我还没有找到任何深度路径。我试过gl_FragCoord
了,但它在一个像素内的所有样本中都是一个常数,给出类似 (?.5,?.5,?,?) 的东西。
假设在 MSAA 中为每个样本计算和测试深度。我的问题是它是否可以在片段着色器中使用。
我想丢弃由两个深度图定义的深度范围之外的片段。这就是为什么我需要每个样本的深度来执行正确的每个样本丢弃。我的深度图也是用 MSAA 生成的,我使用GL_ARB_texture_multisample
扩展在片段着色器中获取多采样深度。
这是示例代码,但我不知道如何实现getSampleDepth
.
c# - 为什么 Msaa IAccessible 在多个线程中变得无效?
我在托管 c++ 中实现了一个简单的类(编译成 dll),它在内部使用 IAccessible,如下所示。
我在 C# 中创建了一个 MsaaElement,并尝试获取元素的位置。一切正常。我可以多次获得该位置而没有任何问题。
但是,当我将 C# 中的 MsaaElement 传递给另一个线程并尝试在另一个线程中获取元素的位置时,返回的位置始终是 (0,0,0,0)。
为什么 iAccessible 接口在另一个线程中失败?
谢谢。
nvidia - 在 nvidia crad 上启用 msaa 时的伪影
当我尝试在 D3D11 中启用 MSAA 4X 时,它有工件。
我通过 NVIDIA Frame Debugger 调试程序,然后发现一个奇怪的现象。错误的像素有三个候选片段,但最终的像素不是其中之一,看起来像是“混合”。此外,片段显示其失败通过的未知原因,“未知原因”是什么?
我发现了一个类似的问题https://github.com/helix-toolkit/helix-toolkit/issues/488,启用背面剔除后,大部分伪影消失了,但仍然很少有伪影。