javascript - Three.js Particles of various sizes -
i'm new three.js , trying figure out best way add 1000 particles each being different size , color. texture each particle created drawing canvas. using particlesystem particles same color , size. creating particlesystem each particle inefficient. there efficient way handle this?
the best way go this, in experience, create customized shader material; can include attributes, properties vary particle particle. shader code this:
vertex shader:
attribute vec3 customcolor; attribute float customsize; varying vec3 vcolor; void main()  {     vcolor = customcolor; // set color associated vertex; use later in fragment shader     vec4 mvposition = modelviewmatrix * vec4( position, 1.0 );     gl_pointsize = customsize * ( 300.0 / length( mvposition.xyz ) );     gl_position = projectionmatrix * mvposition; } fragment shader:
uniform sampler2d texture; varying vec3 vcolor; // colors associated vertices; assigned vertex shader void main()  {     // calculates color particle     gl_fragcolor = vec4( vcolor, 1.0 );     // sets particle texture desired color     gl_fragcolor = gl_fragcolor * texture2d( texture, gl_pointcoord ); } for similar live example, check out:
http://stemkoski.github.io/three.js/particlesystem-attributes.html
Comments
Post a Comment