Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2014
311
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Rekod3DBuildings.Engine.prototype.setSnowParticles = function() {
  2.     var map = THREE.ImageUtils.loadTexture( 'images/textures/snowflake.png' );
  3.  
  4.     var attributes = {
  5.         size:        { type: 'f', value: [] },
  6.         customColor: { type: 'c', value: [] },
  7.         time:        { type: 'f', value: [] },
  8.     };
  9.  
  10.     this.snowUniforms = {
  11.         color:      { type: "c", value: new THREE.Color( 0x777777 ) },
  12.         texture:    { type: "t", value: 0, texture: map },
  13.         globalTime: { type: "f", value: 0.0 },
  14.     };
  15.  
  16.     var shaderMaterial = new THREE.ShaderMaterial( {
  17.         uniforms:       this.snowUniforms,
  18.         attributes:     attributes,
  19.         vertexShader:   document.getElementById( 'fragmentshader-airplane' ).textContent,
  20.         fragmentShader: document.getElementById( 'vertexshader-airplane' ).textContent,
  21.         blending:       THREE.AdditiveBlending,
  22.         depthTest:      false,
  23.         transparent:    true,
  24.     });
  25.  
  26.     var geometry = new THREE.Geometry();
  27.    
  28.     for ( var i = 0; i < 10000; i++ )
  29.         geometry.vertices.push( new THREE.Vector3( Math.random() * 18000 - 1500, -5000, Math.random() * 18000 ) );
  30.  
  31.     var particles = new THREE.PointCloud( geometry, shaderMaterial );
  32.     particles.position.x = -5000;
  33.     particles.position.y = 5000;
  34.     particles.position.z = -5000;
  35.  
  36.     var vertices = particles.geometry.vertices;
  37.     var values_size = attributes.size.value;
  38.     var values_color = attributes.customColor.value;
  39.     var values_time = attributes.time.value;
  40.  
  41.     for( var v = 0; v < vertices.length; v++ ) {
  42.         values_size[ v ] = 50 + Math.random() * 80;
  43.         values_color[ v ] = new THREE.Color( 0xffffff );
  44.         values_time[ v ] = Math.random();
  45.     }
  46.  
  47.     this.scene.add( particles );
  48. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement