gpt4 book ai didi

linux - GLX 视觉和 FBconfig 之间有什么区别?

转载 作者:可可西里 更新时间:2023-11-01 11:48:15 33 4
gpt4 key购买 nike

我正在使用 xcb 在 X11 下学习 OpenGL,我很难弄清楚视觉效果和 fbconfigs(您在 glxinfo 中找到的)之间的区别

据我所知,视觉是一组与深度缓冲区、模板缓冲区、帧缓冲区等相关的属性。与 fbconfigs 有什么区别,为什么一个比另一个更可取?

最佳答案

X Window System 中,Visual 封装了 Display 的颜色映射(颜色类型、颜色深度)。同一个显示器可以配置不同的视觉效果。

当 OpenGL 诞生时,大约在 X System 之后十年,在 OGL 部分创建了一个结构 XVisualInfo,而不是在 X System 中。这种新结构通过添加更多功能(例如辅助缓冲区、双缓冲区和立体声)扩展了 Visual 类型。此 XVisualInfo 用于创建 gl-context。

1998 年的 GLX 1.3 规范(可在 Khronos page 找到)添加了更多功能,特别是用于离屏渲染的 GLXPbuffer,但比 GLXPixmap 更容易。还添加了透明度、多重采样和样本缓冲区。 GLXDrawable(Window 或 GLXPixmap,或者现在还有 GLXWindow 和 GLXPbuffer)的配置与 Visual 功能相去甚远,因此引入了 GLXFBConfig

当前的 GLX 1.4 规范允许,出于向后兼容的原因,如果您不使用 GLX>1.2 功能,则可以使用 XVisualInfo。但创建上下文的首选方法是使用 GLXFBConfig。

请注意,渲染到 GLXP 缓冲区不使用 X Visual。还要注意使用 Framebuffer objects因为 OGL 3.0 不再使用 GLXPbuffer。

关于linux - GLX 视觉和 FBconfig 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51558473/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com