Это зависит от библиотеки, которую вы используете для создания окна с контекстом OpenGL. Например, если вы используете GLFW (кстати, отличная библиотека для создания окон), вы получите размер кадрового буфера с glfwGetFramebufferSize(GLFWwindow* window, int* width, int* height)
, например так:
int width;
int height;
glfwGetFramebufferSize(window, &width, &height);
Но это только размер кадрового буфера, если вы хотитеполучите область просмотра, которая показывает, сколько пикселей будет записано из OpenGL в кадровый буфер, glGetIntegerv(GLenum pname, GLint* data
- это то, что вы ищете:
GLint* viewport = new GLint[4];
glGetIntegerv(GL_VIEWPORT, viewport);
int x = viewport[0];
int y = viewport[1];
int width = viewport[2];
int height = viewport[3];
delete[] viewport;