摘要: 下面的代码处理所有的窗口消息。当我们注册好窗口类之后,程序跳转到这部分代码处理窗口消息。 LRESULT CALLBACK WndProc( HWND hWnd, // 窗口的句柄UINT uMsg, // 窗口的消息 WPARAM wParam, // 附加的消息内容LPARAM lParam) // 附加的消息内容{ 下来的代码比对uMsg的值,然后转入case处理,uMsg 中保存了我们要处... 阅读全文
posted @ 2009-11-01 20:07 大Vin 阅读(572) 评论(0) 推荐(0) 编辑
摘要: 由于全屏模式可能失败,用户可能决定在窗口下运行,我们需要在设置屏幕/窗口之前,再次检查fullscreen的值是TRUE或FALSE。if (fullscreen) // 仍处于全屏模式吗? {如果我们仍处于全屏模式,设置扩展窗体风格为WS_EX_APPWINDOW,这将强制我们的窗体可见时处于最前面。再将窗体的风格设为WS_POPUP。这个类型的窗体没有边框,使我们的全屏模式得以完美显示。 最后... 阅读全文
posted @ 2009-11-01 19:42 大Vin 阅读(695) 评论(0) 推荐(0) 编辑
摘要: 接下来的代码段创建我们的OpenGL窗口。我花了很多时间来做决定是否创建固定的全屏模式这样不需要许多额外的代码,还是创建一个容易定制的友好的窗口但需要更多的代码。当然最后我选择了后者。我经常在EMail中收到诸如此类的问题:怎样创建窗口而不使用全屏幕?怎样改变窗口的标题栏?怎样改变窗口的分辨率或pixel format(象素格式)?以下的代码完成了所有这一切!尽管最好要学学材质,这会让您写自己的O... 阅读全文
posted @ 2009-11-01 18:55 大Vin 阅读(1863) 评论(0) 推荐(0) 编辑
摘要: 下一段包括了所有的绘图代码。任何您所想在屏幕上显示的东东都将在此段代码中出现。以后的每个教程中我都会在例程的此处增加新的代码。如果您对OpenGL已经有所了解的话,您可以在 glLoadIdentity()调用之后,返回TRUE值之前,试着添加一些OpenGL代码来创建基本的形。如果您是OpenGL新手,等着我的下个教程。返回TRUE值告知我们的程序没有出现问题。如果您希望程序因为某些原因而中止运... 阅读全文
posted @ 2009-11-01 16:54 大Vin 阅读(1896) 评论(0) 推荐(0) 编辑
摘要: 接下的代码段中,我们将对OpenGL进行所有的设置。我们将设置清除屏幕所用的颜色,打开深度缓存,启用smooth shading(阴影平滑),等等。这个例程直到OpenGL窗口创建之后才会被调用。此过程将有返回值。但我们此处的初始化没那么复杂,现在还用不着担心这个返回值。int InitGL(GLvoid) // 此处开始对OpenGL进行所有设置 {下一行启用smooth shading(阴影平... 阅读全文
posted @ 2009-11-01 16:22 大Vin 阅读(1547) 评论(0) 推荐(0) 编辑
摘要: 在您创建一个新的Win32程序(不是console控制台程序)后,您还需要链接OpenGL库文件。在VC中操作如下:Project > Settings,然后单击LINK标签。在"Object/Library Modules"选项中的开始处(在 kernel32.lib 前)增加 OpenGL32.lib GLu32.lib 和 GLaux.lib 后单击OK按钮。现在可以开始写您的Open... 阅读全文
posted @ 2009-11-01 16:09 大Vin 阅读(1700) 评论(0) 推荐(1) 编辑
摘要: 【转】http://hi.baidu.com/lmhopen/blog/item/0282dccbdbbbf21bbf09e62f.html三种建立OpenGL窗口的方法,一种是win32 sdk加OpenGL函数,这种方法写起来极其麻烦,很是繁琐,第二种把建立OpenGL环境所用到的OpenGL函数写成一个小类,然后用win32 sdk加OpenGL类的方式建立OpenGL窗口,这种方法比前一个... 阅读全文
posted @ 2009-10-29 00:36 大Vin 阅读(3306) 评论(0) 推荐(1) 编辑
摘要: 1.无法从“const char [7]”转换为“LPCWSTR”ANS:工程使用了UNICODE字符集,把你的 "字符串" 包含的字符串修改为_T("字符串")或者不使用UNICODE字符集即可例如: abc.lpszClassName="fb2009"; 应该改为 abc.lpszClassName=_T("fb2009"); 改成这样,还需要包... 阅读全文
posted @ 2009-10-28 22:31 大Vin 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 动态连接库是在程序运行时加载到内存中的。 静态库是在编译时跟目标文件一起被编译的。 使用动态链接时可能需要把一些库一起打包,以防止有的机子上没有该库文件或者版本不兼容而出现的库的依赖问题; 使用静态链接,会把程序所需的库一起编译,生成的文件可能会大些,但是可执行文件移植时不会出错。VC工程-设置里的使用MFC作为共享的DLL ,使用MFC作为静态链接库,这两选择就是让你选择使用动态库还是使用静态库... 阅读全文
posted @ 2009-10-28 22:09 大Vin 阅读(4128) 评论(1) 推荐(0) 编辑
摘要: 【转】http://dacuisworld.spaces.live.com/blog/cns!5194FC8976D233A0!1121.entry第一步:下载OpenGL的GLUT库 Windows环境下的GLUT下载地址:(苹果机不需要安装,自带) http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip 第二步:Ope... 阅读全文
posted @ 2009-10-28 13:22 大Vin 阅读(1741) 评论(0) 推荐(0) 编辑