open gl (2)

#include<windows.h>//windows头文件
#include<GL/gl.h>//包含gl.h,glu.h库里面的内容
#include<GL/glut.h>//包含OpenGL实用库


//每一个Open GL都被连接到一个着色描述表上,着色描述表将所有的OpenGL调用命令连接到设备描述表上
//将Open GL 着色描述表定义为hRC
HGLRC hRC=NULL;//设置窗口着色描述表句柄
//绘制窗口还需要设备描述表,windows的设备描述表被定义为hDC
HDC hDC=NULL;//OPEN GL渲染描述表的句柄
//DC将窗口连接到GDI图形设备接口上,RC将Open GL连接到DC
//变量hWnd将保存由Windows给我们的的窗口指派的句柄
HWND hWnd=NULL;//保存我们的窗口句柄
//创建实例
HINSTANCE hInstance;//保存程序的实例


//全局变量
//设置用来监控键盘动作的数组,可以处理多个键同时按下的情况
bool keys[256]; //保存键盘按键的数组
//active变量用来告知程序窗口是否处于最小化,如果已经最小化,我们可以暂停代码执行到退出程序的任何事情
bool active=TRUE;//窗口最小化的活动标志,缺省为TRUE
//fullscreen变量的作用十分明显,让我们知道程序在全屏状态下运行,fullscreen的值为TRUE,否则为FALSE,全局变量的设置十分重要,它让每个过程都知道程序是否运行在全屏状态下
bool fullscreen=TRUE; //全屏标志缺省,缺省设定为全屏模式


//定义WndProc(),因为CreateGLWindow()有对WndProc()的引用,但是WndProc()在CreateGLWindow()之后才出现,类似于先申明所要访问的程序段


LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);//WndProc的定义
//重新设置open GL的大小,不管窗口是否已经改变,openGL场景的尺寸将被设置成它显示时所在窗口的大小
GLvoid ReSizeGLScene(GLsizei height)//重置OpenGL的窗口大小
{
if(height == 0)
{
height = 1;
}


glViewport(0 ,0,width,height); //重置当前视口

}


每个open gl 程序都是先从着色描述表,设备描述表,保存当前窗口描述表,创建实例窗口设置都要从基本的开始

猜你喜欢

转载自blog.csdn.net/qq_38643064/article/details/79518192