0

実行時にいくつかの画像をブレンドし、それらをいくつかの単純なジオメトリに適用する pyopengl プログラムがあります。動作しますが、非常に遅く、私が知っているよりも遅くなります。次のコードは、実行時に image'n'_weight が変化する場所で使用するものです。

    img1 = PIL.Image.open(file_name1)
    image1 = numpy.array(list(img.getdata()), numpy.uint8)

    img2 = PIL.Image.open(file_name2)
    image2 = numpy.array(list(img.getdata()), numpy.uint8)

    img3 = PIL.Image.open(file_name3)
    image3 = numpy.array(list(img.getdata()), numpy.uint8)

...

    image1_weight = 0.2
    image2_weight = 1
    image3_weight = 0.5
    normalize = image1_weight + image2_weight + image3_weight
    new_image = (image1 * (image1_weight/normalize)) + (image2 * (image2_weight/normalize)) + (image3 * (image3_weight/normalize))

...

    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 1024, 1024, 0, GL_RGB, GL_UNSIGNED_BYTE, new_image)

スピードアップするためにこれを行う方法を知っている人はいますか

更新: マルチ テクスチャとのブレンドを行う必要があることはほぼ確実です。

4

0 に答える 0