游戏开发论坛

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

[ OpenGL ] Stupid Question, but need help

[复制链接]

82

主题

331

帖子

340

积分

中级会员

Rank: 3Rank: 3

积分
340
QQ
发表于 2004-12-10 18:45:00 | 显示全部楼层 |阅读模式
在下无法对 GL_BITMAP 进行正确的绘制,glBitmap() 总是什么都绘制不出来,已经判断不是 Z-Buffer 的问题,视点 和 视区  也正确,UNPACK 是 1 byte,RasterPos 没有问题,颜色确定是不同的,但是就是绘制不出来。

使用非 GL_BITMAP 形式就没有问题。

在下是新手,所以说起来很不清楚,谢谢 !

190

主题

1801

帖子

2096

积分

金牌会员

Rank: 6Rank: 6

积分
2096
QQ
发表于 2004-12-10 19:01:00 | 显示全部楼层

Re:[ OpenGL ] Stupid Question, but need help

很难讲哪错了,贴代码上来给大家看

82

主题

331

帖子

340

积分

中级会员

Rank: 3Rank: 3

积分
340
QQ
 楼主| 发表于 2004-12-10 19:37:00 | 显示全部楼层

Re:[ OpenGL ] Stupid Question, but need help

// The Viewport is 1024 x 768
// The Projection Matrix is no problem
// Use glOrtho( 0, 1024, 0, 768, - 1.0f, 256.0f );

UCHAR pTest[ 32 ];
memset( pTest, 0xff, sizeof( pTest ) );

... // Enable Depth Test And Clear's value is: 1.0f
glClearColor(0,0,0,0);
glPixelStorei( GL_UNPACK_ALIGNMENT, 1);

// Loop Start ( Have Cleared COLOR_BUFFER & DEPTH_BUFFER )
//                 ( Have Loaded Identity for ModelView Matrix Stack )
glColor3f( 1,1,1 );

for( UINT aa = 0; aa < 1000; aa ++)
{
    glRasterPos2i( rand() % 600, rand() % 600 );

    glBitmap( 8, 16, 0, 0, 0, 0, pTest );
}

// Execute SwapBuffers()

// I have tested for the glBegin() with GL_TRIANGLE & no problem in drawing.

* 我想问一下,是不是 Width & Height 要求是 2 的次方数。
* 谢谢 !


190

主题

1801

帖子

2096

积分

金牌会员

Rank: 6Rank: 6

积分
2096
QQ
发表于 2004-12-10 23:21:00 | 显示全部楼层

Re:[ OpenGL ] Stupid Question, but need help

挺好的啊,没错啊,
//-----------My Test File-------------//

#include        <gl\glut.h>
#include        <gl\glu.h>
#include        <iostream>

using namespace std;

//************************Global variable**********************//
void        init();

UCHAR pTest[32];

void changeSize(int w1, int h1)
        {
        // Reset the coordinate system before modifying
        glMatrixMode(GL_PROJECTION);
        glLoadIdentity();

        // Set the viewport to be the entire window
    glViewport(0, 0, 1024, 768);

        // Set the clipping volume
        glOrtho( 0, 1024, 0, 768, - 1.0f, 256.0f );

        // setting the camera now
        glMatrixMode(GL_MODELVIEW);
}

//**************************Display Func*********************************//

void renderScene(void) {
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
        glLoadIdentity();
        glPixelStorei( GL_UNPACK_ALIGNMENT, 1);
// Loop Start ( Have Cleared COLOR_BUFFER & DEPTH_BUFFER )
//                 ( Have Loaded Identity for ModelView Matrix Stack )
        glColor3f( 1,1,1 );
        
    for( UINT aa = 0; aa < 1000; aa ++)
    {
    glRasterPos2i( rand() % 600, rand() % 600 );
    glBitmap( 8, 16, 0, 0, 0, 0, pTest );
    }
        glutSwapBuffers();
}

//*******************************init func*********************************//
void init()
{
   glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
   memset( pTest, 0xff, sizeof( pTest ) );
        glDisable(GL_LIGHTING);
        glutDisplayFunc(renderScene);
        glutReshapeFunc(changeSize);
        glClearColor(0,0,0,0);

}

//********************************main**************************************//
int main(int argc, char **argv)
{                       
        glutInit(&argc, argv);
        glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
        glutInitWindowPosition(0,0);
        glutInitWindowSize(1024,768);
        glutCreateWindow("My sample");
        //alutInit(NULL, 0);
           init();

        glutMainLoop();

        return 0 ;
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-23 16:33

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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