使用正交投影
gl.glOrtho(..)
//使用正交矩阵栈,需要重新设置坐标系,告诉OpenGL,以后所有变换都会影响该矩阵.
gl.glMatrixMode(GL_PROJECTION);
gl.glLoadIdentity();
双缓冲
所有图形程序最重要的特性之一就是双缓冲.他允许在一个屏幕之外的缓冲区中执行绘制代码,然后使用一条交换命令把
绘制完成的图形立即显示在屏幕上.
双缓冲用途两个:一个是一些复杂绘图时间较长,不希望在屏幕上看到每个步骤.双缓冲可以合成一幅图像完成后再显示.
用户不会看到不完整的图像.二是用于动画.每个帧都在屏幕之外的缓冲区绘制,完成后快速交换到屏幕上.
OpenGL状态机
绘制3D图形是一项复杂任务.状态机是一个抽象的模型,表示一组状态变量的集合.每个状态变量可以有各种不同的值,打
开关闭等.OpenGL绘图时,每次指定这些变量明显不合适.因此OpenGL给出了一中状态模型(状态机)来跟踪所有的
OpenGL状态变量.一个状态变量被设置后,以后一直保持这个状态,直到下次对他进行修改.使用如下命令可进行状态变
量的切换.
gl.glEnable(xx);//gl.glDisable(xx);
//例如光照
gl.glEnable(GL_LIGHGTING);
保存/恢复状态
gl.glPushAttribe(..);//glPopAttrib(xx);
使用glHint获取线索
在3D图形算法中,有时需要性能优先有时是质量优先.
gl.glHint(target,mode);
使用扩展
检查扩展
String ext = glGetString(GL_EXTENSIONS);
谁的扩展:

1886

被折叠的 条评论
为什么被折叠?



