この行はメモリにテクスチャを読み込み、画像に保存します:png ++を使用してopenGlにテクスチャを読み込む方法は?
png::image<png::rgba_pixel> image("texture.png");
この行を、その後OpenGLのメモリにロードする必要があります
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, image.get_width(), image.get_height(), 0, GL_ABGR, GL_UNSIGNED_BYTE, image.get_pixbuf());
しかし、最後の引数はconst void*
する必要があり、 image.get_pixbuf()
はpixbuf
を返します。画像からピクセルデータをどのようにしてOpenGLに入れるのですか?
私が間違って指定した引数はすべて無視してください。後で修正します。これはまったく動作しません。
std :: string pathToPng = "dummy.png"; png :: imageイメージ(pathToPng);png :: gray_pixel * buffer = image.get_pixbuf()。get_row(0).get_data(); ../src/a.cpp:関数 'int main(int、const char **)': ../src/a.cpp:101:65:エラー: 'png :: basic_pixel_buffer 、png :: row_traits > :: :: row_type 'には' get_data 'という名前のメンバはありません png :: gray_pixel * buffer = image.get_pixbuf()。 get_row(0).get_data(); –
drahnr
ラインローディングでは何かが正しくないようです。 – drahnr