问题标签 [multisampling]

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.

0 投票
1 回答
1204 浏览

ios - ResolveMultisampleFramebufferAPPLE 生成 INVALID_OPERATION

我不知道为什么会glResolveMultisampleFramebufferAPPLE生成错误 1282 (0x0502, GL_INVALID_OPERATION)。

设置代码:

渲染代码:

完整的源代码可以在 Bitbucket 找到:https ://bitbucket.org/amjaliks/gl2/src

0 投票
0 回答
744 浏览

interop - 多重采样和 Direct3D10 / D3DImage 互操作

我正在尝试使用 Direct3D 10 (SlimDX) 和 WPF 实现渲染引擎。

我使用正确的 MultiSample 参数(1,0 / 2,0 和 4,0 正在工作)创建我的设备和 rendertargetview

然后我在尝试为 D3DImage 创建共享纹理时遇到了问题......

...

...

我错过了什么?

0 投票
1 回答
1805 浏览

macos - opengl 2.1中的多重采样抗锯齿?

我有一台带有 ATI radeon X1600 显卡的 2007 Macbook pro。我正在尝试使用多重采样功能使抗锯齿工作。

使用GlView,这是我手头的信息:

渲染器信息是:

渲染器:ATI Radeon X1600 OpenGL 引擎供应商:ATI Technologies Inc. 内存:128 MB 版本:2.1 ATI-7.0.52 设备:MacBookPro2,2 着色语言版本:1.20 </p>

我检查了 arb_multisample 的扩展信息,它说:“提升为 OpenGL 1.3 中的核心功能”,那么假设在我的代码中我可以简单地说(就像我在 Opengl 2.1 上一样)是否正确:

glEnable(GL_MULTISAMPLE)

在我的应用程序代码中,我有一个数据结构,其中包含以下信息:顶点、索引和纹理,然后我使用 glDrawElements 等进行渲染。而且都是三角形网格。

代码看起来像这样:

我也如上所述启用了多重采样。然而,这就是我得到的

锯齿状的边缘清晰可见。

所以我的问题是:

  1. 我对多重采样是核心功能的理解是否正确?
  2. 只是启用多重采样和调用绘图代码工作还是需要更多步骤才能使多重采样工作?
0 投票
0 回答
429 浏览

iphone - 开启多重采样时 glReadPixels 不起作用

glReadPixel 在未启用多重采样时运行良好。但是当启用多重采样时,它会给出 0x502 opengl 错误并且屏幕未被捕获。经过一番研究,它似乎与解析多样本缓冲区有关 - 'glResolveMultisampleFramebufferAPPLE'。但我无法让它在“takeAsCGImage”方法中工作,如下所示

有人可以帮忙吗?



谢谢,简单

0 投票
1 回答
2436 浏览

java - 使用 Android 上的 OpenGL ES 2.0,在帧缓冲区上渲染时是否可以保留多重采样?

我正在使用 OpenGL es 2.0 和 java 在 Android ICS 上开发 2d 游戏。我正在尝试使用照明系统,为此我在一个帧缓冲区上渲染所有灯光,在另一个上渲染场景,目的是使用片段着色器将它们混合以重新创建 Photoshop 叠加效果。

不过我遇到了一个问题,似乎 fbo 不适用于多重采样,所以如果我在 fbo 上绘图,我会得到锯齿状的线条。我注意到有一个针对使用 ios 的人的解决方案,但我在 Android 上没有找到任何东西。有没有比我解决这个问题的方式更好的方法来实现我想要做的事情?原谅,我对opengl有点陌生。

非常感谢你。

0 投票
2 回答
5424 浏览

android - Android OpenGL 多重采样/抗锯齿问题

我正在开发一款适用于 Android 的应用程序,允许用户点击屏幕来绘制颜色。我已经让所有绘图代码在 OpenGL 下运行良好(在 Android 4.0.4、Galaxy Nexus 上进行测试,尽管我试图尽可能向后兼容;我的 SDK 以 API 14 为目标,但 minSDK 为 8 )。

我遇到的问题是抗锯齿;我希望我的所有多边形和线条都经过抗锯齿处理,但它们出现锯齿状。我很肯定 Galaxy Nexus 支持抗锯齿(我在其他应用程序中看到过),所以我确定我做错了什么。

我已经在谷歌上下了一个多小时,通过几个 StackOverflow Q/As,我找到了一些答案:

我以不同的顺序添加了部分或全部这些行,但没有任何效果。(这些是在 onSurfaceCreated 中添加的。)

我认为这个有点帮助......但这可能是我的想法在欺骗我。但是,即使在使用它时,仍然可以找到锯齿状的线条。(也在 onSurfaceCreated 中添加。)

这似乎是最常见的答案。但是这样做时,一切都被画成不可见的;也就是说,当从黑色背景开始时,一切都是黑色的,总是。(由于 LogCat 中的内存刷新消息,我知道它仍在绘制中。)我还结合上述所有其他方法尝试了此方法。(这也是在 onSurfaceCreated 中添加的。)

回顾一下:我在 Android 4+ 上使用 OpenGL,似乎没有多重采样方法有效;虽然大多数都没有效果,但使用 glBlendFunc 似乎完全破坏了渲染。

所以,我很困惑。我对任何建议都持开放态度……它们肯定会比拆开我的电脑更有帮助!

在此先感谢所有耐心阅读本文的人。

0 投票
1 回答
278 浏览

ios - 任何人在打开 OpenGLES2 和 MultiSampling 的 iOS 4.3.3 上遇到过奇怪的 alpha 混合错误?

我在 iOS 4.3.3 上使用 OpenGLES2 启用了多重采样支持,渲染结果很糟糕,好像颜色是 RGB565,而不是 ARGB8888。

问题是,要么关闭多重采样,要么将相同的 ipa 部署到 iOS 5 设备(这表明我确实正确打开了多重采样),不会出现问题,除了关闭多重采样会使其非常难看(这也表示多样本确实适用于大多数情况)。

测试用例很简单,只是用正射投影方式渲染一个贴有纹理的四边形,纹理的颜色格式是RGBA8888。

以前有人遇到过同样的问题吗?这是Apple SDK的错误吗?

顺便说一句,我使用的 SDK 是 Xcode 4.3.2 附带的,ios 部署目标设置为 4.0

0 投票
1 回答
1077 浏览

slimdx - SlimDX DirectX10 多重采样不起作用

我正在 DirectX10 中设置我的 SlimDX 项目,但我无法让多重采样工作。这是我的设备初始化:

我正在渲染一个简单的盒子。我也查了

有 1、2、4、8 和 16 个样本。每次该函数返回 1。但是,当我将 1 放入 SwapChainDescription SampleDescription Quality 时,设备创建会抛出错误:

我基本上只能将 0 用于质量计数。然而,在我的笔记本上,我可以选择不同的质量级别,但多重采样在那里也不起作用,而且 PC 和笔记本显卡都支持多重采样。

有什么我做错了吗?

0 投票
1 回答
819 浏览

geometry - 在 SlimDX (D3D9) 中启用抗锯齿

我想在绘制三角形时启用抗锯齿,如下图所示: 在此处输入图像描述

我在此页面上找到了使用 XNA 的方法,但我想对SlimDX做同样的事情。

0 投票
1 回答
4902 浏览

qt - 使用 QOpenGLFrameBufferObject 类的 Qt5 OpenGL 多重采样

我需要在 Qt5 项目中执行多重采样,但我不确定如何使用QOpenGLFrameBufferObject来执行 FSAA。就我搜索而言,没有关于如何执行此操作的示例,文档仅提到:“如果您想使用启用了多重采样的帧缓冲区对象作为纹理,您首先需要使用 QOpenGLContext 从它复制到常规帧缓冲区对象::blitFramebuffer()。” 我的代码目前如下所示: