Comment cast en int en float en GLSL (WebGL)?

Mon code est (à l'intérieur de l'void main):

float res;

for(int i=0; i<15; i++) {

    res = float(i)/15.0;

    //...

}

Malheureusement je reçois une erreur de syntaxe au float(i)/15.0

Si je viens d'écrire i/15.0, alors l'erreur est:

wrong operand types  no operation '/' exists that takes a left-hand operand of type 'mediump int' and a right operand of type 'const float' (or there is no acceptable conversion)

Si j'essaie juste de i/15 puis le résultat est un entier, mais je voudrais obtenir un flotteur.

Comment est-il possible de jeter int à float?

En javascript, cette conversion se fait automatiquement - res = i / 15;
C'est GLSL, pas de javascript
Je collé votre code ci-dessus dans glslsandbox.com et il fonctionne très bien. Êtes-vous sûr que vous n'avez pas d'erreur à partir d'une autre ligne dans votre shader?
"Je reçois une erreur de syntaxe au flotteur(i)/15.0" Êtes-vous sûr? Cela semble bien, float(i) est la bonne façon de convertir je pour flotter.

OriginalL'auteur Iter Ator | 2015-10-21