问题标签 [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 投票
0 回答
663 浏览

ios - 在 GLKView 错误 8cdd 中无法生成多样本帧缓冲区

我目前正在创建一个位于另一个视图上方的 GLKView,我在该视图上绘制了一些线条。但我有一个奇怪的问题。对于我的任务,我需要使用由这条线完成的多重采样

在我的构造函数中。在 iOS 7.1/7/6.1 的模拟器上,我得到了预期的结果。在 iPad Mini 1 上,我得到了相同的结果。

编辑:iPad 2 也可以。

但如果我使用 iPad 1 (5.1) 或 iPad 4 (7.1),我会收到以下错误。

无法制作完整的多重采样帧缓冲区对象 8cdd

如果我检查错误

我得到错误代码: iPad 4 上的 8219 和错误代码: iPad 1 上的8cdd

当然没有绘制。如果我禁用多重采样,则没有错误。这个类在一个大项目中使用并且是子类的。使用超类本身并不能解决问题。GLK 完全在代码中完成,只有它的 superview 是一个简单的 UIView 是一个 .xib 文件。

如果我通过在 Storyboard 中将 GLKView 作为我的类在新项目中使用该类,则多重采样可以正常工作。

如果需要任何进一步的信息,请随时询问。提前致谢。

更新:

设置 GLKView 的框架后似乎有问题,但仅限于非 A5 芯片设备。

0 投票
1 回答
1591 浏览

opengl - 管道中的多重采样

在多重采样中,在光栅化过程中,每个像素中存在多个采样点,并确定构成图元的采样点。

像素中每个样本的哪些属性相同?我在某处读到颜色和纹理值相同,但像素中样本的深度和模板值不同。但是由于对每个样本点执行片段着色器,所以它们应该是不同的。

另外,在片段着色器之后,何时在管道中解析多个样本?它们是线性平均的吗?

0 投票
1 回答
969 浏览

opengl - OpenGL4 多重采样抗锯齿和渲染到纹理

我有一个有效的 OpenGL 多通道渲染示例,需要添加多重采样。

我尝试了两种方法。两种方法都不使用深度或模板缓冲区,而仅渲染颜色。

主要渲染期间的多重采样

最后进行多重采样

问题

虽然这两种方法似乎都有效(完整的帧缓冲区等),但我可以清楚地看到第二种方法的硬边。只有使用第一种方法,我才能真正获得抗锯齿的软边缘。

第二种方法是否存在概念问题?多重采样是否有一些特定的先决条件,这样它就不会像描述的那样工作?

我非常喜欢使用第二种方法。

0 投票
1 回答
805 浏览

opengl - 尝试创建多重采样帧缓冲区时获取 FramebufferIncompleteMultisample

我使用以下代码创建纹理 + 帧缓冲区(在 C# 中使用 openTK):

我收到以下错误:

[错误]:创建的纹理参数:InvalidEnum

[LOG]:帧缓冲区状态:FramebufferIncompleteMultisample

当我尝试使用多重采样创建表面时 (2)

任何想法出了什么问题?该代码适用于 ms < 2。

0 投票
1 回答
1504 浏览

opengl - 多重采样帧缓冲区不完整,我不知道为什么

这是我创建“表面”的代码:

现在,每当我使用大于 1 的多重采样时,都会出现错误:

[LOG]:创建的纹理参数:NoError
[LOG]:创建的图像:NoError
[LOG]:帧缓冲区状态:FramebufferIncompleteAttachment

当 ms 小于 2 时,一切正常...

0 投票
1 回答
158 浏览

r - 使用 tabular(){tables:如何为多个采样定义一个函数(例如,对于 p 值)?

我经常必须生成包含例如平均值、标准差和简单测试结果的表格。为了拥有可重现和可共享的工作流程,我尝试使用tables::tabular. (请参阅此处了解如何将测试作为函数包含在内。)

这有效:

但是,我未能定义一个函数,例如,配对 Wilcoxon 符号秩检验来比较多个抽样案例中的处理:似乎我未能将正确的参数或数据传递给函数。

比我还笨的人能帮忙吗?

如果您关心,这里有一些可重复性的数据:

0 投票
1 回答
335 浏览

opengl - OpenGL:多重采样纹理y轴倒置?

我对多重采样纹理有疑问。似乎在将其传送到另一个表面进行渲染之后,它被颠倒了。是什么原因造成的?我应该提供一些代码吗?

编辑:嗯,这将是很多代码,但我们开始吧。这就是我创建表面/纹理的方式:

创建:

现在在渲染循环中,我执行以下操作:

如果这还不够,我还可以发布着色器和网格代码。

EDIT2:好的,现在一切都按预期工作,除了我使用 canvas.draw() 而不是贴图纹理时。绘制方法如下所示:

绘制屏幕四边形:

使用的着色器:

不知何故,渲染的场景被颠倒了。为什么 ?

0 投票
1 回答
1001 浏览

opengl - 我可以使用 OpenGL 计算着色器来解析多重采样纹理吗?

我的应用程序将第一个场景渲染为绑定到 FBO 的纹理,然后计算着色器对纹理图像进行一些处理并将其写入另一个纹理,然后我将其用于渲染第二个场景。一切都好。

现在我想对第一个场景进行抗锯齿处理,因此我创建了一个多重采样纹理并将其绑定到 FBO,然后再进行渲染。在计算着色器中,我使用imageLoad(buf, pos, sample)image2DMS(而不是imageLoad(buf, pos)image2D)读取所有样本并计算片段的平均值,但看起来所有样本都具有相同的值。

在我提取相关代码并将它们组合成一个简单的测试程序之前,我想知道我是否理解多样本模型,以及我正在尝试做的事情是否可能。我一直在 Windows 7 中使用 OpenGL 4.3 的 nVidia GTX 660 上运行,驱动程序 9.18.13.4052,2014 年 7 月。

0 投票
1 回答
733 浏览

opengl - OpenGL多重采样不起作用?

我用 GL_MULTISAMPLE 调用 glEnable 并使用“vec4 颜色中的样本”作为片段着色器中的输入向量,但多重采样仍然关闭。我究竟做错了什么?有没有我遗漏的部分?

ps 我正在阅读官方的 OpenGL 编程指南(4.3 版)。

编辑:一些代码:

片段着色器如下:

在我的应用程序中,我调用 glEnable(GL_MULTISAMPLE)。之后,我渲染了一个简单的旋转立方体,它显然没有抗锯齿。

0 投票
1 回答
986 浏览

opengl - OpenGL - ARB 扩展

我正在使用 MacBook Pro(13 英寸,2010 年中)并且使用 OpenGL。我注意到,库中缺少一些功能。我在互联网上找到了关于我的硬件的规范,上面写着:“支持 OpenGL 3.3 ”。这很奇怪,所以我打印了我的 OpenGL 版本,它是 2.1,不是 3.3!. (然后我发现,最新的 MacBook(2014 年)具有相同的 OpenGL 版本 2.1,WTF)

然后我差点从窗户跳下来。(JK)

我用一些扩展ARB搜索了一些关于 2.1 的内容,但是没有文档,没有用法,没有人使用它。谁能解释一下,那是什么?如何使用它?有什么区别?

我读过(如果我理解得好),而不是新的 OpenGL 3.X,有类似的 ARB 扩展。我希望,如果他们写入支持 3.3 版的规范,ARB 应该是相同的(至少相同的功能)。

如果有人向我解释发生了什么,我会很高兴。

问题:

我对 FBO 绘图的多样本纹理有疑问。它可以由glTexImage2DMultisample带有参数的函数创建GL_TEXTURE_2D_MULTISAMPLE。它来自 3.2 或更高版本。

那么我应该使用什么,或者使用 ARB 可以做到吗?

GL_ARB_multisample在图书馆找到的。那是什么?有什么用处吗?我在互联网上找到的所有功能都丢失了。有一些定义,例如GL_MULTISAMPLE_ARB在标题中。我试图通过glEnableGL_MULTISAMPLE也定义)启用它,它不起作用。

请帮我。:(

编辑:

如果您知道解决此问题的不同方法,我会很高兴。

原始问题: OpenGL - FBO 和 alpha 混合