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_sizeして取得する必要があります。al_get_opengl_texture_position

于 2011-06-20T23:55:52.280 に答える