1. 通过使用glGet()和glIsEnabled()功能函数查询OpenGl状态机的当前状态
2. 绘制图元时,首先使用glBegin()功能函数来指定图元的类型,然后使用glEnd()功能函数来发送顶点。
3. glVertex()功能函数在glBegin()/glEnd()代码块指定一个顶点,并且使用若干个不同的参数值以便你去定义坐标的数量,坐标的数据类型以及坐标是否被传递给单个变量或者是一个数组。
4. 你可以使用以GL_POINTS为参数的glBegin()功能函数来绘制质点,使用glPointSize()功能来 修改质点的大小。使用以GL_POINT_SMOOTH为参数的glEnable()功能函数来进行抗锯齿的操作,以及使用glPointParameter()来控制质点的距离效果。
5. 使用以GL_LINES为参数的glBegin()功能函数来绘制直线,使用glLineWidth()功能函数来修改直线的宽度,使用以GL_LINE_SMOOTH为参数的glEnable()来执行抗锯齿的操作,使用glLineStipple()功能函数来 实现点画。
6. 你还可以使用glPolygonMode()功能函数来改变OpenGL绘制多边形的方式GL_POINT强制OpenGL仅绘制多边形的顶点;GL_LINE强制OpenGL将多边形顶点之间的边绘制成直线;GL_FILL是默认的行为,它以内部填充的方式 渲染多边形,并允许多边形执行平滑和点画操作。
7. OpenGL处理顶点的默认顺序是这样的,对于多边形的正面按逆时针的次序进行,对于背面采用顺时针的次序。你可以使用glFrontFace()功能函数修改这个设置。
8. 你可以使用glPushAttrib()和glPopAttrib()功能函数来保存和恢复OpenGL的状态变量。
变换与矩阵
1. 变换允许你移动,旋转并操纵三维世界里的物体,也允许你将三维坐标投影城二维的屏幕上
2. 观察变换指定摄像机的位置
3. 模型变换定义了观察面和剪切平面
4. 视口变换将场景投影映射到视口,窗口或者你的屏幕上。
5. OpenGL模型观察变换时模型变换和观察变换的组合。
6. 视口也称为“摄像机”或则是“眼睛坐标”
7. 平移是指一个物体沿着一条向量进行移动
8. 旋转式一个物体围绕一条定义的轴线进行旋转
9. 缩入是一个物体尺寸的放大与缩小
10. 透视投影使三维世界显得如同在真实世界中所看到的那样,那些离摄像机较远的物体比离得较近的物体看起来要小
11. 正交投影将屏幕上的物体以真实的尺寸进行显示。而不考虑他们离摄像机的距离
12. 模型观察矩阵定义了为物体定位和定向的坐标系统。 你可以使用参数为GL_MODELVIEW的glMatrixMode()功能将模型观察矩阵设置为当前的矩阵。而参数GL_PROJECTION将当前矩阵设置为投影矩阵
13. glLoadIdentity()将当前矩阵恢复为单位矩阵。
14. 平移 glTranslate() 旋转glRotate() 缩放glScale()
15. 保存和恢复当前矩阵glPushMatrix() glPopMatrix();
颜色,灯光,混合和烟雾
1 颜色是由红,绿和蓝以及alpha构成的。可以使用glColor()和glSecondaryColor()功能函数来指定主色与辅色。
2. 可以使用glShadeModel()功能函数来选择是进行单调的还是平滑的渲染
3. Opengl的灯光模型是由环境光,漫射光,反射光以及放射光组成。
4. 使用glLight功能函数控制灯光,并使用glMatrerial()来定义材质。
5世界上所有物体都有相关的法线,你可以通过glNormal()功能函数来指定法线
6.通过混合,你可以有力地控制引入的片元是如何与颜色缓冲区里的数值进行组合。除了glBlendFunc()或者glBlendFuncSeparate()定义一个混合系数的范围外,可以使用glBlendclour来指定混合系数,以及使用glBlendEquation来改变混合方程式。
7. 烟雾的控制使用glFog();
位图与图像
1. 位图在Opengl的环境中被定义为一个矩形的像素数组,每个像素占用一个信息位。
2. 当你在绘制位图的时候,二维数组中的每个值为1的位都对应于屏幕的一个点。而这个点由当前的光栅决定的。如果二维数组中的当前位为0,将不进行绘制
3. glRasterPos()用于绘制位图时候指明Opengl窗口中的当前光栅坐标。这个坐标决定了需要绘制的位图矩形的左下角
4. 如果要在屏幕坐标的基础上指定光栅坐标,那么久需要建立一个二维视口和投影矩阵。
5. Targa图像文件格式简单易用,使用可以方便地将它们读取到内存中并显示在屏幕中。
纹理映射
1. 纹理映射让你可把图像贴到多边形上面从而创建一个真实的物体
2. 纹理贴图时由矩形数组数据做成,这些数组中的每个元素就叫一个纹素。
3. 纹理坐标可以用来把纹理贴到图元上
4. 纹理对象代表纹理数据和纹理参数,可以通过唯一的无整形数值来进行访问。