material.glsl 591 B

1234567891011121314151617181920212223242526
  1. #pragma usage opaque shadow
  2. uniform sampler2D u_texture;
  3. uniform float u_time;
  4. flat varying float v_time;
  5. void vertex() {
  6. v_time = 0.5 * sin(u_time) + 0.5;
  7. POSITION *= 1.0 + v_time;
  8. }
  9. void fragment() {
  10. vec2 uv = TEXCOORD;
  11. uv.y += v_time * 0.5;
  12. const vec3 base_color = vec3(0.5, 0.1, 0.0);
  13. const vec3 active_color = vec3(1.0, 0.2, 0.0);
  14. vec3 color = mix(base_color, active_color, v_time);
  15. ALBEDO = color * texture(u_texture, uv).rgb;
  16. EMISSION = ALBEDO * v_time * 0.5;
  17. ROUGHNESS = mix(1.0, 0.25, v_time);
  18. METALNESS = mix(0.5, 1.0, v_time);
  19. }