如何使glBitmap()可读出来?

时间:2011-12-18 16:17:14

标签: opengl sdl

我无法找到并解释我对glBitmap()用法的了解。我使用此功能的目的是能够使用OpenGL将字母和文本呈现到SDL屏幕。

我当前错误填写的代码是:

#include <SDL/SDL.h>
#include <SDL/SDL_opengl.h>
#include "functionfile.h"

int main(int argc, char **argv)

{

glClear(GL_COLOR_BUFFER_BIT);

GLubyte A[14] = {
0x00,0x00,
0x60,0xc0,
0x3f,0x80,
0x00,0x00,
0x0a,0x00,
0x0a,0x00,
0x04,0x00,
};

init_ortho(640,480);

glBitmap(100,100,0,0,50,50,A);

glLoadIdentity();

SDL_GL_SwapBuffers();

SDL_Delay(5000);

SDL_Quit();

return 0;

}

导致窗口中出现无法识别的白色100x100像素。

1 个答案:

答案 0 :(得分:2)

请阅读glBitmap的文档并尝试理解它。你有一些严重的误解。

glBitmap的前两个参数告诉它,你输入的图像有多大。这不是目的地大小。其他参数会影响栅格位置的调整方式。 glBitmap不会缩放屏幕上的内容。如果您的位图是8x8像素,它将显示为8x8像素。

红皮书有一个关于glBitmap的相当不错的部分:http://fly.cc.fer.hr/~unreal/theredbook/chapter08.html