2012-08-23 9 views
12

Sono un po 'sorpreso non so già, ma non fa mai male ad ammettere che stai ancora imparando :)Qual è la logica per determinare un vettore min/max in GLSL?

In GLSL ci sono min e max funzioni che che, in base alla loro documentation:

ritorno minore/maggiore di due valori

Ma come quello determinato quando i valori sono vettori? Ovviamente (1, 1) sarebbe inferiore a (2, 2), ma qual è il minimo o il massimo di (1, 3) e (4, -2)? Dov'è quella logica descritta formalmente?

risposta

29

Citando dal first source that I could find (PDF), nella parte superiore del §8.3 Funzioni comuni, pagina 132:

Questi tutti funzionano componente-saggio. La descrizione è per componente.

Quasi tutte le funzioni che l'operatore sui vettori, ma in realtà hanno senso solo per uno scalare operare componente-saggio. (Questo include abs, sign, floor, trunc, round, roundEven, ceil, fract, mod, modf, min, max, clamp, mix, step, smoothstep, e molto altro ancora.)

Così, per esempio , il minimo di (1, 3) e (4, -2) è (1, -2).

+1

Fantastico! Questo è quello che pensavo, ma stavo facendo fatica a trovare la documentazione per verificarlo. Grazie! – Toji

Problemi correlati