开篇有益
先提供了测试用的"开发包",用Visual Studio 2008打开,点此下载,,,
最近又开始学习OpenGl了,不知道能坚持多久,希望能坚持下去吧,
OpenGL是"输出"型的API,就是说,如具体的windows消息接受,窗口创建,消息循环,键盘输入,鼠标输入等功能,在OpenGl看来,它无能为力;
它只是输出内容,就这么简单,它只负责跟自己有关的内容;这保证了它的可移植性等特点,更详细的信息还是自己多在网上搜索下吧,这不是重点.
基础中的基础 - windows SDK开发模式简单介绍
windows SDK的"开发模式",执行顺序大概如下:
1,定义WinMain方法,这是入口函数,在WinMain函数中:
- 定义窗口类
- 注册窗口类
- 创建窗口类实例
- 运行该实例
- 更新该实例
2,定义窗口回调函数
- 在回调函数中接受窗口消息
- 分别为不同的消息做不同的处理,如在创建消息中进行OpenGl的初始化,在退出消息中释放OpenGl的资源
大体上就是这个样子,在WinMain函数中的五步是"一气呵成"顺序编写就成,在窗口回调函数中进行实际的渲染工作,
到这里为止,OpenGl可以粉墨登场了,在参考代码中game->RenderWindow(); 这一行是OpenGl调用的"入口函数",
Game类是我们自定义的一个类,它负责OpenGl的初始化工作,好了,在此之前都是windows SDK的内容,
内容不多,但非常重要;
参考代码
KEY_DOWN(vk_code)((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0);
;
}