游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1984|回复: 3

帮我看看这个有什么错啊

[复制链接]

11

主题

136

帖子

142

积分

注册会员

Rank: 2

积分
142
QQ
发表于 2005-6-16 00:40:00 | 显示全部楼层 |阅读模式
bool Init(HWND hwnd)
{
        PIXELFORMATDESCRIPTOR pm;
        //填充PIXELFORMATDESCRIPTOR 结构
                pm.nSize =sizeof(PIXELFORMATDESCRIPTOR);
                pm.nVersion = 1;
                pm.dwFlags=PFD_DRAW_TO_WINDOW |PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
                pm.iPixelType = PFD_TYPE_RGBA;
                pm.cColorBits = 16;
                pm.cDepthBits = 16;

        //获取设备描述表
        HDC hdc=GetDC(hwnd);       
        //选择像素格式
        int pmr=0;
        ::ChoosePixelFormat (hdc,&pm);
        //设置像素格式
        ::SetPixelFormat (hdc,pmr,&pm);
        //获取当前像素格式
        //::GetPixelFormat (hdc);
        //测试像素格式
        //:escribePixelFormat (hdc,pmr,sizeof(PIXELFORMATDESCRIPTOR),&pm);
        //创建着色描述表
        HGLRC hRC=NULL;       
        hRC=::wglCreateContext (hdc);
        //hRC=::wglGetCurrentContext ();
        //使着色描述表当前化
        ::wglMakeCurrent (hdc,hRC);
        //设背景为黑色
        glClearColor( 0.0f, 0.0f, 0.0f, 1.0f );
        glFlush();
        //
        return true;
}

为什么我这么错了,程序的背景不变成黑色啊?还是以前设置的颜色,到底哪里出错了啊?
请求高手帮忙解决,谢谢 [em18] [em18] [em16] [em16]

18

主题

573

帖子

573

积分

高级会员

Rank: 4

积分
573
发表于 2005-6-16 18:56:00 | 显示全部楼层

Re:帮我看看这个有什么错啊

你进行换页了吗?就是调用SwapBuffers,抱歉,我忘了这个函数名了,反正就是你忘了换页了!

11

主题

136

帖子

142

积分

注册会员

Rank: 2

积分
142
QQ
 楼主| 发表于 2005-6-17 00:42:00 | 显示全部楼层

Re:帮我看看这个有什么错啊

那肯定没有啊,高手教我怎么换页啊?

我已经创建PIXELFORMATDESCRIPTOR结构,填充它,然后获取了设备描述表,然后根据获取的DC用ChoosePixelFormat()函数选择了像素格式,然后用SetPixelFormat()设置了像素格式,然后用wglCreateContext()函数创建了着色描述表hGLRC,用wglMakeCurrent使hGLRC当前化了,然后就该怎么办啊,是不是就可以用OPENGL的函数作图了啊?哪位高手指点一下

18

主题

573

帖子

573

积分

高级会员

Rank: 4

积分
573
发表于 2005-6-17 20:36:00 | 显示全部楼层

Re:帮我看看这个有什么错啊

OpenGL中换页的函数是:
BOOL SwapBuffers(HDC hdc);

在glFlush();后面加入下面的语句即可:
SwapBuffers(hdc);
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-26 02:10

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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