Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- shader_type particles;
- void start()
- {
- if (RESTART_CUSTOM)
- {
- CUSTOM = vec4(0.0);
- }
- if (RESTART_COLOR)
- {
- COLOR = vec4(0.0f, 0.0f, 0.0f, 1.0f);
- }
- if (RESTART_ROT_SCALE)
- {
- TRANSFORM[0].xyz = vec3(1.0f, 0.0f, 0.0f);
- TRANSFORM[1].xyz = vec3(0.0f, 1.0f, 0.0f);
- TRANSFORM[2].xyz = vec3(0.0f, 0.0f, 1.0f);
- }
- if (RESTART_POSITION)
- {
- TRANSFORM[3].xy = vec2(100.0f, 0.0f);
- TRANSFORM[3].zw = vec2(0.0f);
- TRANSFORM = EMISSION_TRANSFORM * TRANSFORM;
- }
- if (RESTART_VELOCITY)
- {
- VELOCITY.xy = vec2(100.0f, 0.0f);
- VELOCITY.z = 0.0f;
- }
- }
- void process()
- {
- // Face direction of velocity
- TRANSFORM[1].xyz = normalize(VELOCITY);
- TRANSFORM[0].xyz = normalize(cross(TRANSFORM[1].xyz, TRANSFORM[2].xyz));
- TRANSFORM[2] = vec4(0.0f, 0.0f, 1.0f, 0.0f);
- }
Advertisement
Add Comment
Please, Sign In to add comment