Opengl 2d 调整大小
Opengl 2d resizing
当我调整窗口大小时,我的原点不在左上角。并且 2d 坐标不在像素坐标中:
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
rnd::initDraw();
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
glOrtho(0.0, mainPanelx, mainPanely, 0.0, -1.0, 10.0);
glMatrixMode(GL_MODELVIEW);
//glPushMatrix(); ----Not sure if I need this
glLoadIdentity();
glDisable(GL_CULL_FACE);
glDisable(GL_DEPTH_TEST);
glClear(GL_DEPTH_BUFFER_BIT);
glBegin(GL_QUADS);
glColor3f(1.0f, 0.0f, 0.0);
glVertex2f(0.0, 0.0);
glVertex2f(10.0, 0.0);
glVertex2f(10.0, 10.0);
glVertex2f(0.0, 10.0);
glEnd();
glMatrixMode(GL_PROJECTION);
glPopMatrix();
glMatrixMode(GL_MODELVIEW);
glutSwapBuffers();
调整大小功能:
void resize(int width, int height)
{
if (height == 0) height = 1;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
/* note we divide our width by our height to get the aspect ratio */
gluPerspective(45.0, width / height, 1.0, 400.0);
glMatrixMode(GL_MODELVIEW);
mainPanelx = width;
mainPanely = height;
std::cout<<mainPanelx<<", "<<mainPanely<<"n";
}
如何在窗口左上角获取原点常量以及如何获取像素坐标中的 2d 坐标?
您忘记在调整大小函数中调用glViewport
。
这意味着 OpenGL 仍将渲染到旧大小的视口。
相关文章:
- 为char数组调整zlib-zpipe
- 2D数组来自文本输入,中间有空格
- 将值指定给向量(2D)的向量中的某个位置
- 如何使用用户输入在C++中正确填充2D数组
- 调整大小后指向元素值的指针unordered_map有效?
- 调整 2D 变量 C++ 的大小
- 将添加的列初始化为可调整大小的 2D 向量
- 如何使用3D char数组调整双指针2D char阵列的大小
- 为什么调整大小的 2D 矢量会重置我的数据
- 调整C 的2D向量大小,并填充0
- C 直接2D如何调整ID2D1BITMAP大小
- 如何调整2D C++向量的大小
- Opengl 2d 调整大小
- 在一个维度中调整 2D 多边形的大小
- C++ 调整 2D 矢量内存大小错误
- C++:调整 2D 矢量的大小
- 调整 2d 大小错误
- 2D矢量在类中调整大小.在此范围内未声明错误
- 2D矢量调整运行时错误
- 调整2D矢量的内部尺寸