缩放glBitmap()绘图?

时间:2017-10-24 22:56:47

标签: c opengl

我在OpenGL中使用glBitmap()绘制一个角色。

这个角色太小了,所以我想用更大的尺寸绘制它。但是当我改变这个角色的大小时,我遇到了一个我无法解决的问题。

以下是显示我的问题的屏幕截图:

screen of my problem

这是我的代码:

GLubyte rasters[ 24 ] =
{
    0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00,
    0xc0, 0x00, 0xff, 0x00, 0xff, 0x00, 0xc0, 0x00,
    0xc0, 0x00, 0xc0, 0x00, 0xff, 0xc0, 0xff, 0xc0,
};

void display()
{
    glClear( GL_COLOR_BUFFER_BIT );
    glColor3f( 1.0, 1.0, 1.0 );
    glRasterPos2i( 80, 80 );
    glBitmap( 100, 120, 0.0, 0.0, 0.0, 0.0, rasters );
    glBitmap( 100, 120, 0.0, 0.0, 0.0, 0.0, rasters );
    glBitmap( 100, 120, 0.0, 0.0, 0.0, 0.0, rasters );
    glFlush();
}  

1 个答案:

答案 0 :(得分:2)

  • rasters数组中提供足够的位以匹配您的glBitmap()来电width / height个参数(即,使用您的收藏预先缩放位图方法),或
  • 使用您喜欢的方法将小位图渲染到纹理,然后使用它渲染纹理四边形,或
  • 将您的位图转换为纹理并使用它直接绘制缩放的四边形。