编译原理相关
1、翻译程序分为编译程序(翻译好再执行)和解释程序(翻译一句执行一句)。
2、词法错误:针对单个单词,有单词拼写错误、非法字符等错误;
语法错误:针对单个语句,有括号匹配、双目运算符两侧都要有运算符等错误;
语义分析:针对整篇程序,有变量是否先定义后使用等错误。
操作系统相关
1、堆栈在内存中分为堆区和栈区,堆区存放程序员自己分配的节点,比如malloc、new;栈区存放临时、局部变量,比如int a、double b等。
算法相关
1、迭代法求平方根公式:X2 = (X1 + A/X1) / 2。(求根号A)
图形学相关
1、glLightfv 设置环境光,包括成分、位置等。
环境光:无方向(默认);
漫射光:有方向,材料上乱反射;
散射光:有方向,介质中乱反射;
点光源、镜面反射(平行光)、聚光灯:不解释。
2、glShadeMode:设置两点之间的过渡模式。
3、glLightModelfv的参数:
GL_LIGHT_MODEL_AMBIENT对应环境光RGBA亮度,第四个参数为透明度;
GL_LIGHT_MODEL_LOCAL_VIEWER为1视点为原点,即近视点。
4、OpenGL中把“点、线、多边形、图像和位图”都作为基本图形单元。
5、核心库(基础库)[包含开始结束、矩阵操作]、实用库[包含投影变换]、辅助库、工具库[一堆func]。
6、glVertex3fv:数字表示参数的个数,字母表示参数的类型,若有v表示数组。
7、绘图坐标:十字架,z轴朝人。
8、矩阵栈的原因:OpenGL编程中,实际的变换顺序与指定的顺序是相反的。先进行矩阵变换,最后操作顶点,对于顶点来说就是对所有的矩阵变换逆向操作。
9、gluLookAt()函数,该函数有三个变量,分别定义了视点的位置、相机瞄准方向的参考点以及相机的向上方向。
10、正则投影:视点在视景体内部,不在物体上,视景体为长方体。
透视投影:视点在视景体外部,后两个参数为离视点的近平面距离和离视点的远平面距离。其中glFrustum指定上下左右平面,gluPerspective指定宽高比。
11、视口:就是窗口中用来显示图形的一块矩形区域,它可以和窗口等大,也可以比窗口大或者小。只有绘制在视口区域中的图形才能被显示,如果图形有一部分超出了视口区域,那么那一部分是看不到的。