小菜鸟学Chromium之OpenGL学习系列第二篇

这篇教程介绍如何创建一个基本的OpenGL程序,展示如何创建一个可切换窗口和全屏模式的空窗口,以及如何处理窗口消息。教程涵盖了设置OpenGL环境、窗口创建、初始化、绘图代码和消息循环的基本步骤。
摘要由CSDN通过智能技术生成

在这个教程里,我们一起来玩第一个OpenGL程序.它将显示一个空的OpenGL窗口,可以在窗口和全屏模式下切换,按ESC退出.它是我们以后应用程序的框架.

在CodeBlock里创建一个新的GLUT Win32程序(不是console控制台程序)后,我们还需要链接OpenGL库文件。

代码的前4行包括了我们使用的每个库文件的头文件。如下所示:


#include <windows.h>// Windows的头文件

#include <glew.h>       // 包含最新的gl.h,glu.h库

#include <glut.h>// 包含OpenGL实用库


接下来需要设置使用的所有变量。本节中的例程将创建一个空的OpenGL窗口,因此我们暂时还无需设置大堆的变量。余下需要设置的变量不多,但十分重要。几乎所写的每一个OpenGL程序中都会用到它们。


第一行设置的变量是Rendering Context(着色描述表)。每一个OpenGL都被连接到一个着色描述表上。着色描述表将所有的OpenGL调用命令连接到Device Context(设备描述表)上。我将OpenGL的着色描述表定义为 hRC 。


要让程序能够绘制窗口的话,还需要创建一个设备描述表,也就是第二行的内容。Windows的设备描述表被定义为 hDC 。DC将窗口连接到GDI(Graphics Device Interface图形设备接口)。而RC将OpenGL连接到DC。第三行的变量 hWnd 将保存由Windows给我们的窗口指派的句柄。最后,第四行为我们的程序创建了一个Instance(实例)。


HGLRC           hRC=NULL;// 窗口着色描述表句柄

HDC             hDC=NULL;// OpenGL渲染描述表句柄

HWND            hWnd=NULL;// 保存我们的窗口句柄

HINSTANCE       hInstance;// 保存程序的实例

boolkeys[256];// 保存键盘按键的数组

boolactive=TRUE;// 窗口的活动标志,缺省为TRUE

boolfullscreen=TRUE;// 全屏标志缺省,缺省设定成全屏模式



下面的代码的作用是重新设置OpenGL场景的大小,而不管窗口的大小是否已经改变(假定您没有使用全屏模式)。OpenGL场景的尺寸将被设置成它显示时所在窗口的大小。

GLvoid ReSizeGLScene(GLsizei width, GLsizei height){

if (height==0)// 防止被零除

{

height=1;// 将Height设为1

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值