Texture: close

close()
  • Closes the created texture and restores the original.
Sample Code: Part 1

###################### create a texture

# import bge module
import bge

# get current scene
scene = bge.logic.getCurrentScene()

# get list of objects in scene
objList = scene.objects

# get object to render to
# my object is named SecurityMonitor

obj = objList["SecurityMonitor"]

# check to see if render to texture variable saved
if "Render" in obj:

# get saved variable
renderToTexture = obj["Render"]

# update texture
renderToTexture.refresh(True)

else:

# get a list of the cameras
camList = scene.cameras

# get camera being used for render to texture
# my camera is named Security_Cam
cam = camList["Security_Cam"]

# get the SecurityMonitor material ID
# Name of my render material is Screen
matID = bge.texture.materialID(obj, "MAScreen")

# set the texture
renderToTexture = bge.texture.Texture(obj, matID)

# get the texture image
renderToTexture.source = bge.texture.ImageRender(scene,cam)

# save RenderToTexture as an object variable
obj["Render"] = renderToTexture

Sample Code: Part 2

###################### close the created texture

# import bge module
import bge

# get the current controller
controller = bge.logic.getCurrentController()

# get list of sensors
senList = controller.sensors

# get keyboard sensor used to restore original texture
# my keyboard sensor is named "Texture_Close"
sen = senList["Texture_Close"]

# get the current scene
scene = bge.logic.getCurrentScene()

# get list of objects in scene
objList = scene.objects

# my object is named SecurityMonitor
obj = objList["SecurityMonitor"]

# get the saved object variable
renderToTexture = obj["Render"]

# check to see if key pressed
# restore original texture
if sen.positive == True: 

# restore original texture
renderToTexture.close()