1,


///////////////////////////////////////
2,



////////////////////////////
3,





4,
#include "GL\glew.h"
#include "GL\glut.h"

#define FALSE_RT(a,t) if(!a){return t;}

5




6,

OpenGL在绘图上下文 Rendering Context (HGLRC)上绘图。
程序运行过程中,可以有多个 DC,但只能有一个
HGLRC。因此当一个 DC 画完图后,要立即释放 HGLRC,以便其它的 DC 也使用。
SwapBuffer:把
HGLRC 上的绘制结果刷给HDC;
glFlush:将GL命令队列中的命令发送给显卡并清空命令队列,发送完立即返回;
glFinish:将GL命令队列中的命令发送给显卡并清空命令队列,显卡完成这些命令(也就是画完了)后返回。

在绘图命令比较冗长的情况下,可以分段调用glFlush以清空命令队列并让显卡开始先执行这些命令,最后调用glFinish来同步。
然后调用wglSwapBuffer调换前后缓存。
SwapBuffer命令只是把前台和后台的缓冲区指针交换一下而已也就是把前台的内容变成后台缓冲的内容,把后台的缓冲内容换到了前台这个函数它本身并不对换过来的成为了后台的buffer做清理工作,所以每帧都glClear一次,然后再绘制,而后再SwapBuffers。