问题标签 [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 回答
1788 浏览

android - OpenGL ES 1.x 是否支持使用抗锯齿或多重采样进行多边形平滑?

我正在加载 wavefront .obj 格式的 3d 模型,并将其显示在 Android 设备的屏幕上。我正在使用 min3d 库来加载 obj 和渲染,而 min3d 库使用的是 openGL ES 1.x。问题是 3d 模型渲染不平滑(3d 模型的边缘不平滑)。

我对 openGL ES 了解不多,并且我在这个论坛上阅读了有关问题的信息,但没有获得有关特定 openGL ES 1.x 问题的太多信息。我得到了一些关于抗锯齿和多重采样的东西来更平滑地渲染边缘,但大多数答案都直接指向 openGL ES 2.0

有什么办法可以用 openGL ES 1.x 改进我的图形?谢谢你。

0 投票
1 回答
502 浏览

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

我想在绘制三角形时启用多重采样,如下图所示: 在此处输入图像描述

我在另一个问题中找到了一种使用SlimDX的方法,但它在独占模式下不起作用。

这是我的代码:

最后一行总是会因为D3DERR_INVALIDCALL错误而崩溃,即使CheckDeviceMultisampleType始终返回 true 且没有错误并且multisampleQuality返回 8 。

如果我使用窗口模式或删除多重采样选项,它会起作用。

有人可以告诉我有什么问题吗?

0 投票
1 回答
684 浏览

c# - XNA 3.1 DrawUserPrimitives with Anti Aliasing - MultiSampling 不起作用?

所以这是我今天早些时候提出的一个问题的延续。我使用 XNA 3.1 的 DrawUserPrimitives 方法为自己构建了一些漂亮的色带轨迹,主要是通过在运动发生时扩展多边形。除了一件事 - 抗锯齿之外,这一切看起来都非常时尚和漂亮。我一生都无法弄清楚如何应用它。

我在游戏构造函数中设置了这个:

我还添加了这个来测试硬件:

通过添加一些打印行,我知道我的硬件可以支持 4 个示例 AA,但这一切似乎没有任何区别。我似乎无法让它发挥作用。

这是我的一条路线的屏幕截图,其中应用了所有代码:

看? 没有AA!

我真的很感激一些帮助。不久前,我查看了此问题的解决方案,以解决不同的问题,但当时也无法使其正常工作。

嗯,干杯。

0 投票
1 回答
1757 浏览

directx - 在d3d9中打开抗锯齿?

我正在尝试在我的项目中打开抗锯齿功能。先看d3d9界面:

我不确定如何给出参数MultiSampleMultisampleQuality. non-maskable multisampling和有什么区别maskable
2x 抗锯齿映射到什么?
4x 抗锯齿映射到什么?
D3DMULTISAMPLE_2_SAMPLES + 2q == D3DMULTISAMPLE_4_SAMPLES + 1q?

0 投票
1 回答
4655 浏览

opengl - glTexImage2DMultisample 如何工作?

我想使用多重采样纹理。

片段着色器是什么以及如何将多个采样器传递给着色器?

另外,可以使用哪个 API 来加载纹素数据?

我想为此使用默认的 FBO。

0 投票
1 回答
789 浏览

opengl - 在关闭多重采样的情况下使用多重采样 OpenGL 上下文会降低性能吗?

创建一个多重采样的OpenGL上下文,通过glDisable关闭多重采样,与使用非多重采样的上下文相比,性能如何受到影响?

0 投票
1 回答
732 浏览

java - JOGL FBObject 多重采样

我正在使用JOGL开发一个简单的 OpenGL 3D 图形引擎。现在,我已经实现了一个简单的渲染管道,它将场景渲染到 FBO 上,然后将其传递给着色器,将 FBO 的颜色纹理渲染到屏幕上,可以选择应用一些后期处理效果,例如模糊。

在不使用 FBO 的情况下,使用 JOGL 很容易实现美观的多重采样。例如,因为我在 Swing 中托管我的 GL 面板,所以我使用 aGLJPanel并像这样创建它,以启用多重采样:

这非常简单,并且会产生漂亮的结果。但是,当必须首先将几何图形绘制到 FBO 时,这并不是很有用。最好的方法是在 FBO 上附加一个 GL_TEXTURE_2D_MULTISAMPLE,渲染场景,然后在第二遍的片段着色器中执行多重采样。

尽管 JOGL 提供了一个相当广泛的FBObject类来帮助管理 FBO,但我没有找到一种方法让它渲染到多采样纹理(它只允许使用TextureAttachment对象,这些对象被硬编码为只能使用 TEXTURE_2D 资源)。因此,我只使用提供的 FBObject 作为骨架,但使用普通 gl.gl* 调用完成大部分工作。我知道这不是 hacky 或任何东西,也许一个“更清洁”的解决方案只是扩展TextureAttachment和创建一个专用于多采样纹理的类。

我只是想知道 - 我是否遗漏了什么,或者 JOGL 真的不支持具有多重采样纹理的 FBO?

0 投票
1 回答
1441 浏览

opengl - 关于纹理的多重采样

我在非默认 FBO 中渲染具有绿色背景的白色立方体,并将创建的多重采样纹理附加到此 FBO。当我使用上述纹理在默认 FBO 中渲染立方体时,它会破坏纹理。

这是我的代码:

片段着色器:

让我知道我哪里出错了。

0 投票
1 回答
2118 浏览

opengl-es - WebGL 锯齿状边缘(抗锯齿)

所以我目前只使用顶点和颜色数据(没有索引,没有纹理)渲染我的地形,也许当我稍后添加纹理时,问题会自行解决。无论是远距离还是近距离,我似乎都在地形边缘与背景相遇的地方出现锯齿状边缘。

看起来这个问题可以通过使用抗锯齿/多重采样来解决,但我的印象是,通过使用默认参数设置 WebGL 上下文,它将默认使用抗锯齿,所以这应该不是问题。


问题如下:

例子


这是我的上下文初始化代码:

通过不向 setupWebGL 传递其他选项,我假设它将使用使用抗锯齿的默认设置...


这是适用的初始化代码:


这是适用的绘图代码:

0 投票
1 回答
9663 浏览

opengl - 如何使用 Qt5 在 OpenGL 中启用多重采样(抗锯齿)?

创建窗口时如何启用多重采样?我应该如何初始化 OpenGL 以匹配?