剪裁区域既决定显示范围,也决定坐标空间
glOrtho(X1,X2,Y1,Y2,Z1,Z2);
坐标原点是在(X2+X1)/2,(Y2+Y1)/2,(Z2+Z1)/2
三维空间中坐标不在X1,X2,Y1,Y2,Z1,Z2定义的立方体里的部分将被舍掉
在经过glTranslatef,glRotatef等矩阵变换后,坐标系整体发生变化,即空间物体的坐标全部改变,可以用PushMatrix和PopMatrix来保存和恢复坐标状态,用glLoadIdentity来恢复原始坐标系,即glOrtho初始决定的默认坐标空间
OpenGL中的坐标递增方向: X向右增加,Y向上增加,和我们在几何里学习的一致,和Windows的GDI默认的向下增加不同
视口glViewport(0,0,weight,height)
决定图像显示在客户区的哪个地方,客户区的左下角为(0,0),以此为基点,weight为宽,height为高的一个区域
视口的矩形覆盖剪裁区域立方体的正面二维矩形的坐标空间,完全成比例对应.所以,可以实现缩放,即不使用滚动条即可观看希望看到的所有图形范围.缩放,包括X,Y分别缩放由glViewport函数和glOrtho函数共同作用
分享到:
相关推荐
这篇学习笔记1主要会探讨基础的OpenGL设置和渲染原理。 在OpenGL编程中,我们首先需要设置上下文环境,这通常通过窗口系统接口(如GLUT或SDL)完成。在"base.cpp"这个文件中,我们可能看到初始化OpenGL窗口的代码,...
OpenGL的渲染管线是一系列有序的处理阶段,从顶点数据开始,经过顶点着色器、细分着色器、几何着色器、图元设置、剪切、光栅化,直到片段着色器,最终生成图像。顶点着色器接收并处理每个顶点,细分着色器和几何着色...
在“code_opengl学习笔记3-1-在3D中绘制点”的压缩包中,可能包含了一个示例程序,演示了如何使用上述方法在3D空间中绘制点。通过阅读和理解代码,你可以更好地掌握OpenGL绘制点的基本技巧,并为后续学习OpenGL的...
OpenGL学习笔记1 - 基本的运行框架 在计算机图形学领域,OpenGL是一个广泛使用的跨语言、跨平台的应用程序编程接口(API),用于渲染2D、3D图像。本笔记将聚焦于如何在Visual Studio 2012环境下搭建一个基本的...
Java OpenGL(JOGL)学习笔记 在学习 JOGL 时,我们需要了解图形显示器是如何工作的。图形显示器是一个由许多像素点组成的绘图区域,图形系统的核心是一个魔法画笔,这支画笔能以非常快的速度移动到一个确定的像素...
《OpenGL ES 2.0 学习笔记》是一份针对英文版《OpenGL ES 2.0 Programming Guide》的阅读总结,旨在帮助读者更好地理解和掌握OpenGL ES 2.0的核心概念和技术要点。以下是对该书中关键知识点的详细解释和归纳。 ####...
在"OpenGL学习笔记.doc"中,可能包含以下内容: 1. **基本概念**:介绍OpenGL的架构、管线模型以及主要的数据类型和函数。 2. **环境设置**:详述如何在Visual C++ 6.0中创建OpenGL项目,设置链接器选项,以及如何...
在配合的文章《OpenGL学习笔记——JNI篇》中,作者通过JNI(Java Native Interface)来演示如何在Java程序中调用OpenGL进行图形绘制。JNI是Java平台的一部分,允许Java代码和其他语言写的代码进行交互,这在需要高...
在压缩包中,我们可以找到一系列与OpenGL相关的源代码文件,如`五子棋.cpp`、`完成的清单3.9.cpp`等,这些文件代表了书中的关键练习和实例。 `五子棋.cpp`可能是一个简单的2D或3D五子棋游戏的实现,利用OpenGL进行...
### Android学习笔记 #### 1. Android概述 **1.1 Android的特性** - **应用框架**:Android提供了一个强大的应用框架,使得开发者能够轻松地重用基础组件和服务,简化了应用程序的开发流程。 - **Dalvik虚拟机**...
【Android学习笔记】 Android平台是谷歌推出的一个开放源代码的移动设备操作系统,它为开发者提供了一个全面的软件包,包括操作系统、中间件和关键应用程序。这个平台的主要目标是促进移动应用的创新和多样性,允许...
OpenGL超级宝典是一本深入学习图形编程的权威书籍,其中的笔记20主要涉及如何使用uniform变量和uniform块来向着色器输入数据。在3D图形编程中,OpenGL是一个广泛应用的图形库,它允许程序员控制图形硬件进行复杂的...
4. **GLU工具库版本**:GLU(OpenGL Utility Library)是OpenGL的一个扩展库,提供了一系列辅助函数,如贝塞尔曲线、多边形操作等。了解GLU版本可以判断系统上是否有足够的功能来支持复杂的图形操作。 在【OpenGL ...
总之,这个OpenGL学习笔记展示了如何创建基本的3D立方体,包括设置图形环境、深度测试、视口和投影矩阵的配置,以及使用顶点数据绘制几何体。它是学习OpenGL基础和理解3D图形渲染流程的一个良好起点。
这篇教程和学习笔记将帮助你深入理解CEGUI的原理和使用方法。 首先,CEGUI的核心设计理念是组件化。这意味着它包含了一系列可复用的UI元素,如按钮、文本框、滚动条等,这些元素都可以单独配置和定制。在HTML和Word...
### Delphi XE2 之 FireMonkey 入门学习笔记 #### 一、Delphi XE2 FireMonkey 概述 Delphi XE2引入了一种全新的跨平台UI框架——FireMonkey(简称FMX),该框架支持Windows和Mac OS X操作系统,并且能够提供丰富的...
在"games101计算机图形学学习笔记分享"中,我们可以期待了解到一系列关于这个主题的基础概念、理论和技术。 首先,笔记可能会从基础的图形学原理开始讲解,包括二维和三维坐标系的概念,以及如何在笛卡尔坐标系中...
VTK,全称为 Visualization Toolkit,是一款强大的开源可视化库,尤其在3D图形渲染和科学数据可视化方面具有广泛的应用。...希望这篇“初学者的VTK学习笔记”能对你有所帮助,祝你在VTK的学习旅程上取得成功!