OpenGL二维绘图:大佬们,GL如何实现将点阵图像放大并自动平滑显示?

想做出类似Direct2D的DrawBitmap、Qt的DrawImage的效果(如下图)
图片说明

已试

    glPixelZoom((GLfloat)xscale, (GLfloat)yscale);
    glDrawPixels(w, h, GL_RGB, GL_UNSIGNED_BYTE, Buffer);

感觉绘图效率有点低,而且暂时没找到平滑的方法,求助有没有其他的解决方法?