diff --git a/packages/particles/src/webgl/ParticleBuffer.js b/packages/particles/src/webgl/ParticleBuffer.js index 77ffa4d..6306bda 100644 --- a/packages/particles/src/webgl/ParticleBuffer.js +++ b/packages/particles/src/webgl/ParticleBuffer.js @@ -254,11 +254,15 @@ destroy() { this.dynamicProperties = null; - this.dynamicData = null; this.dynamicBuffer.destroy(); + this.dynamicBuffer = null; + this.dynamicData = null; + this.dynamicDataUint32 = null; this.staticProperties = null; - this.staticData = null; this.staticBuffer.destroy(); + this.staticBuffer = null; + this.staticData = null; + this.staticDataUint32 = null; } } diff --git a/packages/particles/src/webgl/ParticleBuffer.js b/packages/particles/src/webgl/ParticleBuffer.js index 77ffa4d..6306bda 100644 --- a/packages/particles/src/webgl/ParticleBuffer.js +++ b/packages/particles/src/webgl/ParticleBuffer.js @@ -254,11 +254,15 @@ destroy() { this.dynamicProperties = null; - this.dynamicData = null; this.dynamicBuffer.destroy(); + this.dynamicBuffer = null; + this.dynamicData = null; + this.dynamicDataUint32 = null; this.staticProperties = null; - this.staticData = null; this.staticBuffer.destroy(); + this.staticBuffer = null; + this.staticData = null; + this.staticDataUint32 = null; } } diff --git a/packages/particles/src/webgl/ParticleShader.js b/packages/particles/src/webgl/ParticleShader.js index e699355..2caeec5 100644 --- a/packages/particles/src/webgl/ParticleShader.js +++ b/packages/particles/src/webgl/ParticleShader.js @@ -32,10 +32,10 @@ 'varying vec4 vColor;', 'void main(void){', - ' vec2 v = aVertexPosition;', + ' float x = (aVertexPosition.x) * cos(aRotation) - (aVertexPosition.y) * sin(aRotation);', + ' float y = (aVertexPosition.x) * sin(aRotation) + (aVertexPosition.y) * cos(aRotation);', - ' v.x = (aVertexPosition.x) * cos(aRotation) - (aVertexPosition.y) * sin(aRotation);', - ' v.y = (aVertexPosition.x) * sin(aRotation) + (aVertexPosition.y) * cos(aRotation);', + ' vec2 v = vec2(x, y);', ' v = v + aPositionCoord;', ' gl_Position = vec4((projectionMatrix * vec3(v, 1.0)).xy, 0.0, 1.0);', @@ -53,7 +53,6 @@ 'void main(void){', ' vec4 color = texture2D(uSampler, vTextureCoord) * vColor;', - ' if (color.a == 0.0) discard;', ' gl_FragColor = color;', '}', ].join('\n'),