将 allegro 4 移植到 allegro 5
该功能的 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);
what is the allegro 5 version of this function?
texture_number = allegro_gl_make_texture_ex(AGL_TEXTURE_MASKED, my_bitmap, GL_RGBA);
Or do I need to do something completely different in allegro 5? I'm trying to load an image to be used as an openGL texture. Here is the full code.
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);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Allegro 5 始终使用 OpenGL 或 D3D。因此,所有 Allegro 位图都已经是纹理。要获取与 Allegro 位图关联的 OpenGL 纹理对象,请调用
al_get_opengl_texture
。请注意,由于子位图的存在,多个位图可以使用相同的纹理。因此,您需要使用al_get_opengl_texture_size
和al_get_opengl_texture_position
来获取该位图的纹理内的位置。Allegro 5 always uses either OpenGL or D3D. Therefore, all Allegro bitmaps are already textures. To get the OpenGL texture object associated with an Allegro bitmap, call
al_get_opengl_texture
. Note that due to sub-bitmaps, multiple bitmaps can use the same texture. So you will need to useal_get_opengl_texture_size
andal_get_opengl_texture_position
to get the location within the texture for that bitmap.