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)
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 )
def init(): global renderer, camera, scene, mesh 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) camera.position.z = 400 scene = THREE.Scene() texture = THREE.TextureLoader().load(toAbs("textures/crate.gif")) # print(texture.image) geometry = THREE.BoxBufferGeometry(200, 200, 200) material = THREE.MeshBasicMaterial(map=texture) mesh = THREE.Mesh(geometry, material) scene.add(mesh)
from ctypes import * width = 800 height = 600 pygame.init() pygame.display.set_mode( (width, height), DOUBLEBUF|OPENGL ) scene = THREE.Scene() camera = THREE.PerspectiveCamera( 75, width / height, 0.1, 1000 ) renderer = THREE.OpenGLRenderer geometry = THREE.BoxGeometry( 1, 1, 1 ) material = THREE.MeshBasicMaterial(color = 0x00ff00 ) cube = THREE.Mesh( geometry, material ) scene.add( cube ) camera.position.z = 5 scene.updateMatrixWorld() camera.updateMatrixWorld() projectionMatrix = camera.projectionMatrix.clone().multiply( camera.matrixWorldInverse ).elements cube.modelViewMatrix.multiplyMatrices( camera.matrixWorldInverse, cube.matrixWorld ) modelViewMatrix = cube.modelViewMatrix.elements diffuse = ( 0.0, 1.0, 0.0 ) opacity = 1.0