概念基础
什么是OpenGL?
OpenGL本身并不是一个API,它仅仅是一个由Khronos组织制定并维护的规范(Specification)。
OpenGL规范严格规定了每个函数的执行流程,其内部的实现由OpenGL库的开发者决定,通常是显卡的生产商。
OepnGL如何执行渲染?
OpenGL本身是一个状态机(State Machine),OpenGL的状态通常被称为OpenGL上下文(Context)。我们通常使用如下途径去更改OpenGL状态:设置选项,操作缓冲。最后,我们使用当前OpenGL上下文来渲染。
其它
基元类型:使用OpenGL时,建议使用OpenGL定义的基元类型,GL基元类型是平台无关的。
库:最流行的几个库有GLUT,SDL,SFML和GLFW。
双缓冲(Double Buffer):图像不是一下子被绘制出来的,而是按照从左到右,由上而下逐像素地绘制而成的。最终图像不是在瞬间显示给用户,而是通过一步一步生成的,这会导致渲染的结果很不真实。前缓冲保存着最终输出的图像,它会在屏幕上显示;而所有的的渲染指令都会在后缓冲上绘制。当所有的渲染指令执行完毕后,我们交换(Swap)前缓冲和后缓冲,这样图像就立即呈显出来,不会出现不真实感。
more >>