opengl - 调整过剩窗口的大小

标签 opengl resize window glut

我在过剩窗口中进行 2D 绘图,但无法正确调整窗口大小。

我的 glutDisplayFunc 和 glutReshapeFunc 在下面。实际上,在调整窗口大小时,绘图会消失。如果我从 displayFunc() 中删除 glClear(),新像素不会“初始化”并且存在裁剪问题。我该如何解决这个问题?

glutDisplayFunc:

void displayFunc() {
  glDisable( GL_DEPTH_TEST );
  glClear( GL_COLOR_BUFFER_BIT );
  glPointSize ( 3.0 );
  glFlush();
}

glutReshapeFunc:

void windowReshapeFunc( GLint newWidth, GLint newHeight ) {
  glViewport( 0, 0, newWidth, newHeight );
  glMatrixMode( GL_PROJECTION );
  glLoadIdentity();
  gluOrtho2D( 0, GLdouble (newWidth), 0, GLdouble (newHeight) );

  windowWidth = newWidth;
  windowHeight = newHeight;
}

最佳答案

我会尝试在 reshape 函数末尾添加对 glutPostRedisplay() 的调用。

关于opengl - 调整过剩窗口的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3867441/

相关文章:

opengl - OpenGL中八面体的递归分割

javascript - $(window).on ('resize' ) 在 JavaScript 中

android - 适配器类中的日期选择器显示错误

javascript - 避免重复的浏览器选项卡或窗口(window.open())

c++ - 在 OpenGL 中撕裂?

c++ - OpenGL - 索引缓冲困难

c++ - 如何在 C++ 项目中编写着色器源代码?

java - 添加 Swing 组件时调整窗口大小

javascript - 调整大小的方向

JQuery CSS 代码不在窗口中间