65.9K
CodeProject 正在变化。 阅读更多。
Home

OpenGL Win32 AppWizard

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.97/5 (44投票s)

2001年7月27日

3分钟阅读

viewsIcon

509940

downloadIcon

22731

这个用于 VC++ 6.0 或 VC++.NET 的自定义 AppWizard 创建一个启用了 OpenGL 的 Win32 应用程序,适用于演示和简单的游戏。

Sample Image - OGLWiz.gif
生成的应用程序示例

安装(VC6 版本)

将 OGLWiz.awx 和 Oglwiz.hlp 复制到您的自定义 AppWizard 目录(可能为“C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Template”)。

生成的项目概述(VC6 版本)

使用此 AppWizard 生成的项目包含两个类
  • CApp
  • CMainWnd
有一个 CApp (gApp) 的全局实例,它拥有 CMainWnd (m_pMainWnd) 的一个实例。CApp 创建主窗口,初始化 OpenGL,维护消息循环并管理屏幕更新。CMainWnd 封装主窗口及其 OpenGL 渲染上下文。CApp 通过调用 CMainWnd::InitScene()CMainWnd::KillScene()CMainWnd::DrawScene() 来通知 CMainWnd OpenGL RC 生命周期的不同阶段。每次窗口消息队列为空时,都会调用 CMainWnd::Tick()(由 CApp 调用)。

这可能不是最优雅的 OO 解决方案;CApp 中的某些代码实际上属于 CMainWnd,例如窗口创建和(某些)消息处理。但这个想法是让 CApp 完成 Win32API 和 OpenGL 设置的繁重工作,并让 CMainWnd 自由地专注于客户端区域中显示的内容。

使用向导

选择创建一个新项目,从项目类型列表中选择“OpenGL Win32 Application”,输入项目名称,然后按“确定”。

以下选项可用于自定义项目

Application

菜单:选中此框以向主窗口添加菜单。
键盘加速键:添加键盘加速键资源并处理加速键。
关于框:创建一个关于对话框和一个对话框回调例程。 还会向菜单(如果可用)添加“关于”命令。

主窗口

选择主窗口的外观。

窗口:创建一个具有默认大小的重叠主窗口。
全屏:创建一个占据整个屏幕的置顶弹出窗口。
两者:外观由一个开关决定:如果未 #defined FULLSCREEN,则应用程序在窗口中运行。
在标题栏中显示 FPS:添加代码以定期显示每秒帧数。(在全屏模式下不可用)

OpenGL 支持

使用 OpenGL:添加代码以初始化和维护 OpenGL RC。 如果未选中此框,则会创建一个普通的 Win32 应用程序。
示例代码:添加渲染简单 OpenGL 场景(旋转立方体)的代码。
双缓冲:创建一个双缓冲像素缓冲区。
颜色深度:每个颜色缓冲区中的颜色位平面数。
Z 缓冲区深度:Z 缓冲区的位深度。
背景颜色:按该按钮选择主窗口的背景颜色。

关于 VC++.NET appwizard 的说明

在 VC++.NET 中,appwizard 不再是编译的插件,而是一系列脚本和模板文件,带有一个基于 HTML 的 UI。 有关安装说明,请参见 Readme.txt。

我借此机会将对象模型更改为我认为更简洁的模型。 现在,不是为一个窗口使用一个类,为一个应用程序使用一个类,而是使用一个抽象基类 CApp,它负责窗口创建、OpenGL 初始化等。 生成的应用程序的“实质”放在一个派生类中,该派生类会覆盖 CApp 的许多虚函数。 例如,InitScene()DrawScene()KillScene() 是虚拟函数。

除此之外,VC++.NET 版本的 AppWizard 的行为与 VC++6 版本基本相同。

历史

  • 2003年5月20日 - 更新了 VS.NET 下载
© . All rights reserved.