У меня есть программа 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)
Кто-нибудь знает, как я должен делать это, чтобы ускорить
UPDATE:
Я почти уверен, что я должен делать смешивание с несколькими текстурами, у кого-нибудь есть указания, как это сделать?