走向3D
2D + 透视 = 3D
3D术语 (入门级)
- 光栅化:实际绘制或填充每个顶点之间像素的形成线程
- 着色:沿着顶点之间改变颜色值,弄够轻松创建光照照射在一个立方体上的效果
- 纹理贴图:不过是一个用来贴倒三角形或多边形上的图片。在GPU上,文理是快捷有效的
- 混合:将不同的颜色混在一起
2D卡迪尔坐标系
x轴与y轴是垂直的,他们共同定义了一个xy平面,简而言之,在任何坐标系系统中,2条轴如果直角相交,就定义了一个平面。如果一个系统只有2个轴,那么就只有1个平面就可以有从来绘图。
3D笛卡尔坐标
常用函数
glutInit() 负责初始化GLUT库。它会处理向程序输入的命令行参数,并且移除其中与控制GLUT如何操作相关的部分。它必须是应用程序第一个GLUT函数,负责设置其他GLUT例程必需的数据结构。
glutInitDisplayMode() 设置了程序所使用的窗口类型。窗口设置更多的OpenGL 特性,例如RAGA颜色空间,使用深度缓存或动画效果。
glutInitWindowsSize() 设置所需的窗口大小,如果不想在这个设置一个固定值,也可以先查询显示设备的尺寸,然后根据计算机的屏幕动态设置窗口的大小。
glutCreateWindow(),它的功能和它的名字一样,如果当前的系统环境可以满足glutInitDisplayMode()的显示模式要求,这里就会创建一个窗口(此时会调用计算机窗口系统的接口)。只有GLUT创建了一个窗口之后(其中包含创建创建OpenGL环境的过程),我们才可以使用OpenGL相关的函数
glewInit()函数,属于另一个辅助库GLEW(OpenGL Extention Wrangler)。GLEW可以简化获取函数地址的过程,并且包含了可以跨平台使用的其他一些OpenGL编程方法。
glutDisplayFunc(),它设置了一个显示回调(diplay callback),即GLUT在每次更新窗口内容的时候回自动调用该例程
glutMainLoop(),这是一个无限执行的循环,它会负责一直处理窗口和操作系统的用户输入等操作。(注意:不会执行在glutMainLoop()之后的所有命令。)
网友评论