gpt4 book ai didi

opengl - 如何获取/设置默认帧缓冲区的宽度和高度?

转载 作者:行者123 更新时间:2023-12-02 04:05:29 27 4
gpt4 key购买 nike

我想知道我的默认帧缓冲区的尺寸。我读到将视口(viewport)设置为特定值不会影响/设置帧缓冲区的尺寸。是否有任何 GL 要求?

最佳答案

您无法通过 OpenGL 调用设置默认帧缓冲区的大小。它是窗口的大小,由窗口系统接口(interface)(例如Android上的EGL)控制。如果您想控制它,这必须作为初始窗口/表面/上下文设置的一部分进行,其中详细信息取决于平台。

我不知道有哪个调用专门获取默认帧缓冲区的大小。但你可以轻松地间接获得它。视口(viewport)和剪刀矩形的默认值都对应于窗口的大小。因此,如果您在修改它们之前获得其中任何一个,它将为您提供窗口的大小。

来自规范中的第 2.12.1 节“控制视口(viewport)”:

In the initial state, w and h are set to the width and height, respectively, of the window into which the GL is to do its rendering.

来自规范中第 4.1.2 节“剪刀测试”:

In the initial state left = bottom = 0; width and height are determined by the size of the GL window.

因此,您可以通过以下任一方式获取默认帧缓冲区大小:

GLint dims[4] = {0};
glGetIntegerv(GL_VIEWPORT, dims);
GLint fbWidth = dims[2];
GLint fbHeight = dims[3];

或者:

GLint dims[4] = {0};
glGetIntegerv(GL_SCISSOR_BOX, dims);
GLint fbWidth = dims[2];
GLint fbHeight = dims[3];

关于opengl - 如何获取/设置默认帧缓冲区的宽度和高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29764925/

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