GLSL: Get current time in millis

Hello, is there any way that in fragment or vertex shader we can get the current time? I wanted to use it as a random seed and also as a incremental variable to animate shaders in a simple way.

Is it possible? If not, is there any way to get random and sequentially incrementated vars?


Unity gently gives us the vec4 variable _Time at shader level: _Time.y is the current time, while _Time.x = time/20, _Time.z = time * 2 and _Time.w = time * 3.

Additionally, you can pass values from scripts to the shaders with SetFloat:

function Start(){
  renderer.material.SetFloat("_Seed", Time.time);

From what I’ve read about GLSL shaders, you have only to declare the uniform variable with the same name used in the script:


  uniform float _Seed; // declare the _Seed uniform float