1

这个功能的 allegro 5 版本是什么?

texture_number = allegro_gl_make_texture_ex(AGL_TEXTURE_MASKED, my_bitmap, GL_RGBA);

还是我需要在 allegro 5 中做一些完全不同的事情?我正在尝试加载要用作 openGL 纹理的图像。这是完整的代码。

GLuint texture_number;
ALLEGRO_BITMAP *my_bitmap;

my_bitmap = al_load_bitmap("terrainImages/ground_32.bmp");
texture_number = allegro_gl_make_texture_ex(AGL_TEXTURE_MASKED, my_bitmap, GL_RGBA);

glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, texture_number);
4

1 回答 1

1

Allegro 5 始终使用 OpenGL 或 D3D。因此,所有 Allegro 位图都已经是纹理。要获取与 Allegro 位图关联的 OpenGL 纹理对象,请调用al_get_opengl_texture. 请注意,由于子位图,多个位图可以使用相同的纹理。因此,您将需要使用al_get_opengl_texture_sizeal_get_opengl_texture_position获取该位图在纹理中的位置。

于 2011-06-20T23:55:52.280 回答