根据百度词条上

glOrtho

这个函数描述了一个平行修剪空间。这种投影意味着离观察者较远的对象看上去不会变小(与透视投影相反)。在3D笛卡尔坐标中想象这个修剪空间,左边和右边是最小和最大的X值,下边和上边是最小和最大的Y值,近处和远处是最小和最大的Z值。 正射投影,又叫平行投影。这种投影的视景体是一个矩形的平行管道,也就是一个长方体。正射投影的最大一个特点是无论物体距离相机多远,投影后的物体大小尺寸不变。这种投影通常用在建筑蓝图绘制和计算机辅助设计等方面,这些行业要求投影后的物体尺寸及相互间的角度不变,以便施工或制造时物体比例大小正确。

实际使用时
目前我只对glOrtho(左,右,下,上,近,远)的前4个参数有所理解后面2个参数貌似是绘制3d图像时才要用到的,如果要绘制的图像是2d的话可以使用 gluOrtho2D(左,右,下,上)来代替

glOrtho(300.0f, 0.0f, 0.0f, 300.0f, -1.0, 1.0);
// 对这个的理解以0,0点为中心左边有300的宽,右边有0的宽,下边有0的高,上边有300的高

效果如下

代码

#include <windows.h>
#include <gl/glut.h>//Rect.cppvoid renderScene(void)
{glPointSize(14.0f);glClear(GL_COLOR_BUFFER_BIT);   //清空颜色缓冲池glBegin(GL_POINTS);glVertex2f(0.0f, 0.0f);glEnd();glFlush();  //执行OpenGL指令列表中的指令
}void main(void)
{glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);    //设置显示模式glutInitWindowSize(500, 500); //设置窗口大小glutInitWindowPosition(200, 200);   //设置窗口在屏幕上的位置 glutCreateWindow("矩形"); //创建窗口并给出标题glutDisplayFunc(renderScene);   //注册显示窗口时回调函数renderScenegluOrtho2D(300.0f, 0.0f, 0.0f, 300.0f);// glOrtho(300.0f, 0.0f, 0.0f, 300.0f, -1.0, 1.0);glClearColor(0.0f, 0.0f, 1.0f, 1.0f);   //使用蓝色清空背景底glutMainLoop();     //消息循环(处理操作系统等的消息,例如键盘、鼠标事件等)
}

可以试着改变gluOrtho2D中的参数来改变原点在画面中位置

opengl中glOrtho的理解相关推荐

  1. OpenGL中的上下文 理解整理

    OpenGL中的上下文(Context) OpenGL状态机与上下文 OpenGL是一个状态机,它拥有非常多的状态变量,并且每个状态变量都有默认值. OpenGL在渲染的时候需要一个Context来记 ...

  2. opengl中的glViewport,glOrtho,glFrustum 理解

    在刚使用opengl时,会遇到对opengles中的一些视角等理解,需要用到glViewport,glOrtho,glFrustum 等函数,下面针对这些函数做一些说明 viewport建立视口,是视 ...

  3. 【OpenGL】关于OpenGL中Bind函数的理解

    在OpenGL中,总是会遇到类似下面的绑定语句: glBindTexture(GL_TEXTURE_2D, renderTex); glBindFramebuffer(GL_FRAMEBUFFER, ...

  4. OpenGL中投影函数glOrtho()、glFrustum()以及gluPerspective()以及函数的用法

    OpenGL中,如果想对模型进行操作,就要对这个模型的状态(当前的矩阵)乘上这个操作对应的一个矩阵. 如果乘以变换矩阵(平移, 缩放, 旋转), 那相乘之后, 模型的位置被变换; 如果乘以投影矩阵(将 ...

  5. OpenGL中各种坐标系的理解

    OPENGL坐标系可分为:世界坐标系和当前绘图坐标系. 世界坐标系:在OpenGL中,世界坐标系是以屏幕中心为原点(0, 0, 0),且是始终不变的.你面对 屏幕,你的右边是x正轴,上面是y正轴,屏幕 ...

  6. OpenGL中的混色问题(Alpha通道)

    混合是一种常用的技巧,通常可以用来实现半透明.但其实它也是十分灵活的,你可以通过不同的设置得到不同的混合结果,产生一些有趣或者奇怪的图象. 混合是什么呢?混合就是把两种颜色混在一起.具体一点,就是把某 ...

  7. 橡树OpenGL中的坐标系统

    [目标]:学习OpenGL中的坐标系统. [参考]: 1.<计算机图形学(OpenGL版) (第三版)> Francis著 (本文主要涉及第三章~第七章) 2.<计算机图形学(Ope ...

  8. 【OpenGL】02 - OpenGL中的坐标系

    [目标]:学习OpenGL中的坐标系统. [参考]: 1.<计算机图形学(OpenGL版) (第三版)> Francis著 (本文主要涉及第三章~第七章) 2.<计算机图形学(Ope ...

  9. D19.1.0 对gluLookAt,gluPerspective和glOrtho的理解

    今天介绍对三个函数gluLookAt,gluPerspective和glOrtho的理解.先说这两个函数有什么用,再解释怎么用,然后再说说他两有啥关系. 有什么用 01 gluLookAt gluLo ...

最新文章

  1. 这个B站up主太硬核了!纯手工打造AI小电视:硬件自己焊接,驱动代码全手写...
  2. 佳能80d有人脸识别吗_国家地理2020年旅行者最推荐相机Top10,有你喜欢的吗?
  3. 触发ALV事件时报错MOVE_TO_LIT_NOTALLOWED_NODATA
  4. leetcode- Sqrt(x)
  5. 计算机组成原理 第三章【存储系统】课后作业解析【MOOC答案】
  6. L2-013 红色警报 并查集
  7. Flask爱家租房--发布新房源(保存房屋图片)
  8. 关于未捕获异常的处理(WPF)
  9. python 托盘_[宜配屋]听图阁
  10. 16进制 转为图片 php_PHP实现简单RPC
  11. 架构师之路--康奈尔笔记法
  12. python for ArcGIS 绘制成都市板块地图
  13. ant-design-vue 动态主题 css前缀变更
  14. 南京20年房价变迁史:别人在买房,你在干什么?
  15. 《少有人走的路》语录
  16. Widget Extention开发笔记
  17. 苹果邮件怎么添加qq邮箱_QQ邮箱格式怎么写?这有一份详细教程
  18. SPI器件的菊链配置
  19. flv视频播放器 自动循环播放代码
  20. 几乎所有的互联网公司都在进行一场脱虚向实的全新嬗变

热门文章

  1. 王玫泰山医学院计算机,计算机专业PBL对提高团队协作能力的研究.pdf
  2. mysql后台框架_后端服务开发 - 认识后端框架
  3. DPPE-PEG-Folate,二棕榈酰磷酯酰乙醇胺-聚乙二醇-叶酸
  4. iOS原生和H5的相互调用
  5. 极客历史记录的这一周:YouTube上市,蓝光与高清DVD以及您的所有基地都属于我们...
  6. 自考本科需要大专毕业证吗?
  7. 老家农村的结婚:赤裸裸的金钱交易
  8. 如何修改IntelliJ IDEA 快捷键?
  9. Redis 主从同步原理解析
  10. php ast 抽象语法树,抽象语法树(AST)