小米su7汽车
function init() {
const container = document.querySelector( '#container' );
camera = new THREE.PerspectiveCamera( 20, window.innerWidth / window.innerHeight, 1, 50000 );
camera.position.set( 0, 700, 7000 );
scene = new THREE.Scene();
scene.background = new THREE.Color( 0x000104 );
scene.fog = new THREE.FogExp2( 0x000104, 0.0000675 );
camera.lookAt( scene.position );
const loader = new OBJLoader();
loader.load( 'models/obj/male02/male02.obj', function ( object ) {
const positions = combineBuffer( object, 'position' );
createMesh( positions, scene, 4.05, - 500, - 350, 600, 0xff7744 );
createMesh( positions, scene, 4.05, 500, - 350, 0, 0xff5522 );
createMesh( positions, scene, 4.05, - 250, - 350, 1500, 0xff9922 );
createMesh( positions, scene, 4.05, - 250, - 350, - 1500, 0xff99ff );
} );
loader.load( 'models/obj/female02/female02.obj', function ( object ) {
const positions = combineBuffer( object, 'position' );
createMesh( positions, scene, 4.05, - 1000, - 350, 0, 0xffdd44 );
createMesh( positions, scene, 4.05, 0, - 350, 0, 0xffffff );
createMesh( positions, scene, 4.05, 1000, - 350, 400, 0xff4422 );
createMesh( positions, scene, 4.05, 250, - 350, 1500, 0xff9955 );
createMesh( positions, scene, 4.05, 250, - 350, 2500, 0xff77dd );
} );
renderer = new THREE.WebGLRenderer();
renderer.setPixelRatio( window.devicePixelRatio );
renderer.setSize( window.innerWidth, window.innerHeight );
renderer.autoClear = false;
container.appendChild( renderer.domElement );
parent = new THREE.Object3D();
scene.add( parent );
const grid = new THREE.Points( new THREE.PlaneGeometry( 15000, 15000, 64, 64 ), new THREE.PointsMaterial( { color: 0xff0000, size: 10 } ) );
grid.position.y = - 400;
grid.rotation.x = - Math.PI / 2;
parent.add( grid );
// postprocessing
const renderModel = new RenderPass( scene, camera );
const effectBloom = new BloomPass( 0.75 );
const effectFilm = new FilmPass();
effectFocus = new ShaderPass( FocusShader );
effectFocus.uniforms[ 'screenWidth' ].value = window.innerWidth * window.devicePixelRatio;
effectFocus.uniforms[ 'screenHeight' ].value = window.innerHeight * window.devicePixelRatio;
const outputPass = new OutputPass();
composer = new EffectComposer( renderer );
composer.addPass( renderModel );
composer.addPass( effectBloom );
composer.addPass( effectFilm );
composer.addPass( effectFocus );
composer.addPass( outputPass );
//stats
stats = new Stats();
container.appendChild( stats.dom );
window.addEventListener( 'resize', onWindowResize );
}