opengl中glOrtho的理解
根据百度词条上
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的理解相关推荐
- OpenGL中的上下文 理解整理
OpenGL中的上下文(Context) OpenGL状态机与上下文 OpenGL是一个状态机,它拥有非常多的状态变量,并且每个状态变量都有默认值. OpenGL在渲染的时候需要一个Context来记 ...
- opengl中的glViewport,glOrtho,glFrustum 理解
在刚使用opengl时,会遇到对opengles中的一些视角等理解,需要用到glViewport,glOrtho,glFrustum 等函数,下面针对这些函数做一些说明 viewport建立视口,是视 ...
- 【OpenGL】关于OpenGL中Bind函数的理解
在OpenGL中,总是会遇到类似下面的绑定语句: glBindTexture(GL_TEXTURE_2D, renderTex); glBindFramebuffer(GL_FRAMEBUFFER, ...
- OpenGL中投影函数glOrtho()、glFrustum()以及gluPerspective()以及函数的用法
OpenGL中,如果想对模型进行操作,就要对这个模型的状态(当前的矩阵)乘上这个操作对应的一个矩阵. 如果乘以变换矩阵(平移, 缩放, 旋转), 那相乘之后, 模型的位置被变换; 如果乘以投影矩阵(将 ...
- OpenGL中各种坐标系的理解
OPENGL坐标系可分为:世界坐标系和当前绘图坐标系. 世界坐标系:在OpenGL中,世界坐标系是以屏幕中心为原点(0, 0, 0),且是始终不变的.你面对 屏幕,你的右边是x正轴,上面是y正轴,屏幕 ...
- OpenGL中的混色问题(Alpha通道)
混合是一种常用的技巧,通常可以用来实现半透明.但其实它也是十分灵活的,你可以通过不同的设置得到不同的混合结果,产生一些有趣或者奇怪的图象. 混合是什么呢?混合就是把两种颜色混在一起.具体一点,就是把某 ...
- 橡树OpenGL中的坐标系统
[目标]:学习OpenGL中的坐标系统. [参考]: 1.<计算机图形学(OpenGL版) (第三版)> Francis著 (本文主要涉及第三章~第七章) 2.<计算机图形学(Ope ...
- 【OpenGL】02 - OpenGL中的坐标系
[目标]:学习OpenGL中的坐标系统. [参考]: 1.<计算机图形学(OpenGL版) (第三版)> Francis著 (本文主要涉及第三章~第七章) 2.<计算机图形学(Ope ...
- D19.1.0 对gluLookAt,gluPerspective和glOrtho的理解
今天介绍对三个函数gluLookAt,gluPerspective和glOrtho的理解.先说这两个函数有什么用,再解释怎么用,然后再说说他两有啥关系. 有什么用 01 gluLookAt gluLo ...
最新文章
- 这个B站up主太硬核了!纯手工打造AI小电视:硬件自己焊接,驱动代码全手写...
- 佳能80d有人脸识别吗_国家地理2020年旅行者最推荐相机Top10,有你喜欢的吗?
- 触发ALV事件时报错MOVE_TO_LIT_NOTALLOWED_NODATA
- leetcode- Sqrt(x)
- 计算机组成原理 第三章【存储系统】课后作业解析【MOOC答案】
- L2-013 红色警报 并查集
- Flask爱家租房--发布新房源(保存房屋图片)
- 关于未捕获异常的处理(WPF)
- python 托盘_[宜配屋]听图阁
- 16进制 转为图片 php_PHP实现简单RPC
- 架构师之路--康奈尔笔记法
- python for ArcGIS 绘制成都市板块地图
- ant-design-vue 动态主题 css前缀变更
- 南京20年房价变迁史:别人在买房,你在干什么?
- 《少有人走的路》语录
- Widget Extention开发笔记
- 苹果邮件怎么添加qq邮箱_QQ邮箱格式怎么写?这有一份详细教程
- SPI器件的菊链配置
- flv视频播放器 自动循环播放代码
- 几乎所有的互联网公司都在进行一场脱虚向实的全新嬗变
热门文章
- 王玫泰山医学院计算机,计算机专业PBL对提高团队协作能力的研究.pdf
- mysql后台框架_后端服务开发 - 认识后端框架
- DPPE-PEG-Folate,二棕榈酰磷酯酰乙醇胺-聚乙二醇-叶酸
- iOS原生和H5的相互调用
- 极客历史记录的这一周:YouTube上市,蓝光与高清DVD以及您的所有基地都属于我们...
- 自考本科需要大专毕业证吗?
- 老家农村的结婚:赤裸裸的金钱交易
- 如何修改IntelliJ IDEA 快捷键?
- Redis 主从同步原理解析
- php ast 抽象语法树,抽象语法树(AST)