if 'Init' not in own:
meshOb = bge.logic.getCurrentScene().objects['Plane']
obj = meshOb
background = Image.open(logic.expandPath("//cIRLIC2.png"))
foreground = Image.open(logic.expandPath("//00SpriteSheet.png"))
background.paste(foreground, (0, 0), foreground)
#get the reference pointer (ID) of the internal texture
ID = 0
# create a texture object
object_texture = texture.Texture(obj, ID)
# create a new source with an external image
url = logic.expandPath("//cIRLIC2.png")
new_source = texture.ImageBuff(url)
print(new_source)
# the texture has to be stored in a permanent Python object
logic.texture = object_texture
#update/replace the texture
logic.texture.source = new_source
logic.texture.refresh(False)
own['Init']=True
mesh = meshOb.meshes[0]
VL =[]
PL =[]
for m_index in range(len(mesh.materials)):
for v_index in range(mesh.getVertexArrayLength(m_index)):
vertex = mesh.getVertex(m_index, v_index)
xYz = meshOb.worldPosition+(meshOb.worldOrientation.inverted()*vertex.XYZ)
VL.append((xYz[0],xYz[1],xYz[2]) )
for f_index in range(mesh.numPolygons):
poly = mesh.getPolygon(f_index)
L=[]
v0 = poly.getVertexIndex(0)
L.append(v0)
v1 = poly.getVertexIndex(1)
L.append(v1)
v2 = poly.getVertexIndex(2)
L.append(v2)
if poly.v4:
v3=poly.getVertexIndex(3)
L.append(v3)
PL.append(L)
#print(VL)
#print(PL)
own['Mesh']=mesh
B =mathutils.bvhtree.BVHTree.FromPolygons(VL, PL, all_triangles=False, epsilon=0.0)
own['BVH']=B
2 = how would I use the image I generated using PIL as the buffer image?