shader_type spatial; render_mode unshaded, cull_disabled; uniform float spin_speed = 2.0; void vertex() { float angle = TIME * spin_speed; vec4 q = vec4(sin(angle), 0.0, 0.0, cos(angle)); vec3 temp = cross(q.xyz, VERTEX) + q.w * VERTEX; VERTEX = VERTEX + 2.0 * cross(q.xyz, temp); } void fragment() { ALBEDO = COLOR.rgb; }