What does `precision mediump float` mean?

Hard Rain picture Hard Rain · Dec 8, 2012 · Viewed 35.1k times · Source

In the learningwebgl tutorial1 I've found an interesting line in the fragment shader.

precision mediump float;

I've found an article about it here, but I still can't understand what does it mean?

And if I remove this line, nothing changes. Everything is the same. So what does precision mediump float mean?

Answer

HowDoIDoComputer picture HowDoIDoComputer · Dec 8, 2012

This determines how much precision the GPU uses when calculating floats. highp is high precision, and of course more intensive than mediump (medium precision) and lowp (low precision).

Some systems do not support highp at all, which will cause code not to work at all on those systems.

On systems that DO support highp, you will see a performance hit, and should use mediump and lowp wherever possible. A good rule of thumb that I saw was:
- highp for vertex positions,
- mediump for texture coordinates,
- lowp for colors.

Hope that helps!