mio codice è (dentro il vuoto principale):Come eseguire il cast di int per fluttuare in GLSL (WebGL)?
float res;
for(int i=0; i<15; i++) {
res = float(i)/15.0;
//...
}
Purtroppo ottengo un errore di sintassi a float(i)/15.0
Se ho appena scrivo i/15.0
, allora l'errore è:
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)
Se Ho appena provato i/15
quindi il risultato è un numero intero, ma mi piacerebbe ottenere un float.
Come è possibile trasmettere int
a float
?
In javascript questa conversione viene eseguita automaticamente - res = i/15; – jeff
Questo è GLSL, non javascript –
I [incollato il codice sopra in glslsandbox.com e funziona bene] (http://glslsandbox.com/e#28445.0). Sei sicuro di non aver ricevuto quell'errore da una linea diversa nello shader? – gman