Example #1
0
def init():

    global renderer, camera, scene, object, realCamera, realScene, cube, renderTarget

    pygame.init()
    pygame.display.set_mode( (width, height), DOUBLEBUF|OPENGL )
    renderer = THREE.OpenGLRenderer
    renderer.init()
    renderer.setSize( width, height )

    camera = THREE.PerspectiveCamera( 70, 1, 10, 1000 )
    camera.position.z = 400

    scene = THREE.Scene()
    scene.fog = THREE.Fog( 0x000000, 1, 1000 )

    object = THREE.Object3D()
    scene.add( object )

    geometry = THREE.SphereGeometry( 1, 4, 4 )
    material = THREE.MeshLambertMaterial( color = 0xffffff )

    for i in xrange( 100 ):

        mesh = THREE.Mesh( geometry, material )
        mesh.position.set( random.uniform( -0.5, 0.5 ), random.uniform( -0.5, 0.5 ), random.uniform( -0.5, 0.5 ) ).normalize()
        mesh.position.multiplyScalar( random.uniform( 0, 400 ) )
        mesh.rotation.set( random.uniform( 0, 2 ), random.uniform( 0, 2 ), random.uniform( 0, 2 ) )
        mesh.scale.x = mesh.scale.y = mesh.scale.z = random.uniform( 0, 50 )
        object.add( mesh )

    scene.add( THREE.AmbientLight( 0x222222 ) )

    light = THREE.DirectionalLight( 0xffffff )
    light.position.set( 1, 1, 1 )
    scene.add( light )

    realCamera = THREE.PerspectiveCamera( 70, width / height, 10, 1000 )
    realCamera.position.z = 200

    renderTarget = THREE.OpenGLRenderTarget( 256, 256 )

    realScene = THREE.Scene()
    realScene.background = THREE.Color().setHSL( 0, 1, 0.5 )
    cubeGeom = THREE.BoxGeometry( 100, 100, 100 )
    cubeMat = THREE.MeshBasicMaterial( map = renderTarget.texture )
    cube = THREE.Mesh( cubeGeom, cubeMat )
    realScene.add( cube )
Example #2
0
def init():

    global renderer, camera, scene, boxObject, bufferScene, bufferTexture, bufferCamera, mainBoxObject

    pygame.init()
    pygame.display.set_mode((width, height), DOUBLEBUF | OPENGL)
    renderer = THREE.OpenGLRenderer
    renderer.init()
    renderer.setSize(width, height)

    camera = THREE.PerspectiveCamera(70, width / height, 1, 1000)

    bufferCamera = THREE.PerspectiveCamera(70, 1, 1, 1000)

    scene = THREE.Scene()

    bufferScene = THREE.Scene()

    bufferTexture = THREE.OpenGLRenderTarget(256,
                                             256,
                                             minFilter=THREE.LinearFilter,
                                             magFilter=THREE.NearestFilter)

    redMaterial = THREE.MeshBasicMaterial(color=0xF06565)
    boxGeometry = THREE.BoxGeometry(5, 5, 5)
    boxObject = THREE.Mesh(boxGeometry, redMaterial)
    boxObject.position.z = -10
    bufferScene.add(boxObject)

    blueMaterial = THREE.MeshBasicMaterial(color=0x7074FF)
    plane = THREE.PlaneBufferGeometry(width, height)
    planeObject = THREE.Mesh(plane, blueMaterial)
    planeObject.position.z = -15
    bufferScene.add(planeObject)

    boxMaterial = THREE.MeshBasicMaterial(map=bufferTexture.texture)
    boxGeometry2 = THREE.BoxGeometry(5, 5, 5)
    mainBoxObject = THREE.Mesh(boxGeometry2, boxMaterial)
    mainBoxObject.position.z = -10
    scene.add(mainBoxObject)