游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3048|回复: 4

(第一个OPENGL程序)为什么不能显示?

[复制链接]

1

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2008-10-8 20:27:00 | 显示全部楼层 |阅读模式
刚开始学Opengl,写的第一个程序就出错了,请帮我看一下.谢谢!
用Visual Studio 2005.

sf_2008108202717.rar

35.04 KB, 下载次数:

0

主题

61

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2008-10-23 16:50:00 | 显示全部楼层

Re:(第一个OPENGL程序)为什么不能显示?

给你个建议,哪怕你直接贴出所有代码都行,千万不要给出这种打包的东西。

毕竟下载解包再打开是需要时间的,不是么?把关键部分代码贴上来就够了。

        case WM_CREATE:
                RECT rc;
                GetWindowRect(hWnd,&rc);
                g_iScrWidth=rc.right-rc.left;
                g_iScrHeight=rc.bottom-rc.top;
                break;

        case WM_PAINT:
                hdc = BeginPaint(hWnd, &ps);
                // TODO: 在此添加任意绘图代码...
                EndPaint(hWnd, &ps);
                break;

我没看到CREATE函数里启动任何线程,那么应该是在PAINT中调用绘图函数的咯?

可惜PAINT里也没有。

那么,你的绘图函数谁去调用?

0

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2008-10-23 19:39:00 | 显示全部楼层

Re:(第一个OPENGL程序)为什么不能显示?

        while (!bQuit)
        {
                if(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
                {
                        if(msg.message==WM_QUIT)
                                bQuit=TRUE;
                        else
                        {
                                if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
                                {
                                        TranslateMessage(&msg);
                                        DispatchMessage(&msg);
                                }
                        }
                }
                else
                {
                        SceneShow();
                        SwapBuffers(g_hDC);
                }
        }
绘制函数在这里被调用的,当消息栈里没消息的时候才进行绘制,这个应该没问题。

LZ最好把错误信息给出来,光给个代码实在是懒得慢慢看。

0

主题

61

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2008-10-24 09:20:00 | 显示全部楼层

Re:(第一个OPENGL程序)为什么不能显示?

又发现2个问题。

注册窗口类时,没有指定 CS_OWNDC。

创建窗口时,没有指定 WS_CLIPSIBLINGS 和 WS_CLIPCHILDREN。

不指定的话不一定失败,但可能不稳定。

42

主题

140

帖子

158

积分

注册会员

Rank: 2

积分
158
发表于 2008-10-29 13:38:00 | 显示全部楼层

Re:(第一个OPENGL程序)为什么不能显示?

虽然我不知道为什么,但是你把glColor3i改为glColor3f就对了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-21 00:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表