游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1964|回复: 2

画面闪烁

[复制链接]

13

主题

46

帖子

46

积分

注册会员

Rank: 2

积分
46
发表于 2007-8-21 15:29:00 | 显示全部楼层 |阅读模式
部分代码片断,高手帮看看哪里有问题呀,为什么画面老是闪烁呢?尤其在旋转查看时,

片断1
        glEnable(GL_TEXTURE_2D);
        glShadeModel(GL_SMOOTH);
        glClearDepth(1.0f);
        glEnable(GL_DEPTH_TEST);
        glDepthFunc(GL_LEQUAL);
        glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST);
        glBindTexture(GL_TEXTURE_2D,image.texture[0]);

片断2
if(r>360)r=0;
        r+=0.003f;

        gluLookAt(10*sin(r),10,20*cos(r),0,0,0,0,1,0);

        glBegin(GL_QUADS);
                // 前面
                glTexCoord2f(0.0f, 0.0f); glVertex3f(-20.0f, -20.0f, 20.0f); // 纹理和四边形的左下
                glTexCoord2f(20.0f, 0.0f); glVertex3f( 20.0f, -20.0f, 20.0f); // 纹理和四边形的右下
                glTexCoord2f(20.0f, 20.0f); glVertex3f( 20.0f, 20.0f, 20.0f); // 纹理和四边形的右上
                glTexCoord2f(0.0f, 20.0f); glVertex3f(-20.0f, 20.0f, 20.0f); // 纹理和四边形的左上
                // 后面
                glTexCoord2f(20.0f, 0.0f); glVertex3f(-20.0f, -20.0f, -20.0f); // 纹理和四边形的右下
                glTexCoord2f(20.0f, 20.0f); glVertex3f(-20.0f, 20.0f, -20.0f); // 纹理和四边形的右上
                glTexCoord2f(0.0f, 20.0f); glVertex3f( 20.0f, 20.0f, -20.0f); // 纹理和四边形的左上
                glTexCoord2f(0.0f, 0.0f); glVertex3f( 20.0f, -20.0f, -20.0f); // 纹理和四边形的左下
                // 顶面
                glTexCoord2f(0.0f, 20.0f); glVertex3f(-20.0f, 20.0f, -20.0f); // 纹理和四边形的左上
                glTexCoord2f(0.0f, 0.0f); glVertex3f(-20.0f, 20.0f, 20.0f); // 纹理和四边形的左下
                glTexCoord2f(20.0f, 0.0f); glVertex3f( 20.0f, 20.0f, 20.0f); // 纹理和四边形的右下
                glTexCoord2f(20.0f, 20.0f); glVertex3f( 20.0f, 20.0f, -20.0f);  // 纹理和四边形的右上
                // 底面
                glTexCoord2f(20.0f, 20.0f); glVertex3f(-20.0f, -20.0f, -20.0f); // 纹理和四边形的右上
                glTexCoord2f(0.0f, 20.0f); glVertex3f( 20.0f, -20.0f, -20.0f); // 纹理和四边形的左上
                glTexCoord2f(0.0f, 0.0f); glVertex3f( 20.0f, -20.0f, 20.0f); // 纹理和四边形的左下
                glTexCoord2f(20.0f, 0.0f); glVertex3f(-20.0f, -20.0f, 20.0f); // 纹理和四边形的右下
                // 右面
                glTexCoord2f(20.0f, 0.0f); glVertex3f( 20.0f, -20.0f, -20.0f); // 纹理和四边形的右下
                glTexCoord2f(20.0f, 20.0f); glVertex3f( 20.0f, 20.0f, -20.0f); // 纹理和四边形的右上
                glTexCoord2f(0.0f, 20.0f); glVertex3f( 20.0f, 20.0f, 20.0f); // 纹理和四边形的左上
                glTexCoord2f(0.0f, 0.0f); glVertex3f( 20.0f, -20.0f, 20.0f); // 纹理和四边形的左下
                // 左面
                glTexCoord2f(0.0f, 0.0f); glVertex3f(-20.0f, -20.0f, -20.0f); // 纹理和四边形的左下
                glTexCoord2f(20.0f, 0.0f); glVertex3f(-20.0f, -20.0f, 20.0f); // 纹理和四边形的右下
                glTexCoord2f(20.0f, 20.0f); glVertex3f(-20.0f, 20.0f, 20.0f); // 纹理和四边形的右上
                glTexCoord2f(0.0f, 20.0f); glVertex3f(-20.0f, 20.0f, -20.0f); // 纹理和四边形的左上
        glEnd();

27

主题

418

帖子

455

积分

中级会员

Rank: 3Rank: 3

积分
455
QQ
发表于 2007-8-21 21:40:00 | 显示全部楼层

Re:画面闪烁

你设置像素格式的时候,启用双缓存了吗?

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2007-8-21 22:52:00 | 显示全部楼层

Re:画面闪烁

很显然他没有设置双缓存
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 09:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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