UNPKG

@threlte/extras

Version:

Utilities, abstractions and plugins for your Threlte apps

3 lines (2 loc) 922 B
declare const _default: "\nuniform float pixelRatio;\nuniform float time;\n\nattribute float size;\nattribute float speed;\nattribute float opacity;\nattribute vec3 noise;\nattribute vec3 color;\n\nvarying vec3 vColor;\nvarying float vOpacity;\n\nvoid main() {\n vec4 modelPosition = modelMatrix * vec4(position, 1.0);\n\n modelPosition.y += sin(time * speed + modelPosition.x * noise.x * 100.0) * 0.2;\n modelPosition.z += cos(time * speed + modelPosition.x * noise.y * 100.0) * 0.2;\n modelPosition.x += cos(time * speed + modelPosition.x * noise.z * 100.0) * 0.2;\n\n vec4 viewPosition = viewMatrix * modelPosition;\n vec4 projectionPosition = projectionMatrix * viewPosition;\n\n gl_Position = projectionPosition;\n\n float dist = max(-viewPosition.z, 0.0001);\n gl_PointSize = size * 25.0 * pixelRatio;\n gl_PointSize *= 1.0 / dist;\n\n vColor = color;\n vOpacity = opacity;\n}"; export default _default;