问题标签 [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.
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 芯片设备。
opengl - 管道中的多重采样
在多重采样中,在光栅化过程中,每个像素中存在多个采样点,并确定构成图元的采样点。
像素中每个样本的哪些属性相同?我在某处读到颜色和纹理值相同,但像素中样本的深度和模板值不同。但是由于对每个样本点执行片段着色器,所以它们应该是不同的。
另外,在片段着色器之后,何时在管道中解析多个样本?它们是线性平均的吗?
opengl - OpenGL4 多重采样抗锯齿和渲染到纹理
我有一个有效的 OpenGL 多通道渲染示例,需要添加多重采样。
我尝试了两种方法。两种方法都不使用深度或模板缓冲区,而仅渲染颜色。
主要渲染期间的多重采样
最后进行多重采样
问题
虽然这两种方法似乎都有效(完整的帧缓冲区等),但我可以清楚地看到第二种方法的硬边。只有使用第一种方法,我才能真正获得抗锯齿的软边缘。
第二种方法是否存在概念问题?多重采样是否有一些特定的先决条件,这样它就不会像描述的那样工作?
我非常喜欢使用第二种方法。
opengl - 尝试创建多重采样帧缓冲区时获取 FramebufferIncompleteMultisample
我使用以下代码创建纹理 + 帧缓冲区(在 C# 中使用 openTK):
我收到以下错误:
[错误]:创建的纹理参数:InvalidEnum
[LOG]:帧缓冲区状态:FramebufferIncompleteMultisample
当我尝试使用多重采样创建表面时 (2)
任何想法出了什么问题?该代码适用于 ms < 2。
opengl - 多重采样帧缓冲区不完整,我不知道为什么
这是我创建“表面”的代码:
现在,每当我使用大于 1 的多重采样时,都会出现错误:
[LOG]:创建的纹理参数:NoError
[LOG]:创建的图像:NoError
[LOG]:帧缓冲区状态:FramebufferIncompleteAttachment
当 ms 小于 2 时,一切正常...
r - 使用 tabular(){tables:如何为多个采样定义一个函数(例如,对于 p 值)?
我经常必须生成包含例如平均值、标准差和简单测试结果的表格。为了拥有可重现和可共享的工作流程,我尝试使用tables::tabular
. (请参阅此处了解如何将测试作为函数包含在内。)
这有效:
但是,我未能定义一个函数,例如,配对 Wilcoxon 符号秩检验来比较多个抽样案例中的处理:似乎我未能将正确的参数或数据传递给函数。
比我还笨的人能帮忙吗?
如果您关心,这里有一些可重复性的数据:
opengl - OpenGL:多重采样纹理y轴倒置?
我对多重采样纹理有疑问。似乎在将其传送到另一个表面进行渲染之后,它被颠倒了。是什么原因造成的?我应该提供一些代码吗?
编辑:嗯,这将是很多代码,但我们开始吧。这就是我创建表面/纹理的方式:
创建:
现在在渲染循环中,我执行以下操作:
如果这还不够,我还可以发布着色器和网格代码。
EDIT2:好的,现在一切都按预期工作,除了我使用 canvas.draw() 而不是贴图纹理时。绘制方法如下所示:
绘制屏幕四边形:
使用的着色器:
不知何故,渲染的场景被颠倒了。为什么 ?
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 月。
opengl - OpenGL多重采样不起作用?
我用 GL_MULTISAMPLE 调用 glEnable 并使用“vec4 颜色中的样本”作为片段着色器中的输入向量,但多重采样仍然关闭。我究竟做错了什么?有没有我遗漏的部分?
ps 我正在阅读官方的 OpenGL 编程指南(4.3 版)。
编辑:一些代码:
片段着色器如下:
在我的应用程序中,我调用 glEnable(GL_MULTISAMPLE)。之后,我渲染了一个简单的旋转立方体,它显然没有抗锯齿。
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
在标题中。我试图通过glEnable
(GL_MULTISAMPLE
也定义)启用它,它不起作用。
请帮我。:(
编辑:
如果您知道解决此问题的不同方法,我会很高兴。
原始问题: OpenGL - FBO 和 alpha 混合