How do you use bvecs (GLSL) ?

Started by
1 comment, last by TysonJ 11 years, 5 months ago
I'm confused about bvecs. What can you do with them? Is their only use in the expressions if (any(bvec)) and if (all(bvec))?

I would like to efficiently generate a vector B from another vector A, where B.n is 1. if n is the largest component of A, and 0. otherwise.
so {0.1, 0.2, 0.8., 0.} -> {0., 0., 1., 0.}

I would like to do something like (greaterThan(A, A.yzwx) & greaterThan(A, A.zwxy) & greaterThan(A, A.wxyz)).ToFVec()... but of course it doesn't work that way...
Advertisement
Given a vector, V,

[source]bvec3 Result = greaterThan(V.xyz, greaterThan(V.yzx, V.zxy));[/source]

Or am I missing something?

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

That doesn't work because the first greaterThan is mixing a vec and a bvec, and in any case I want a vec out of it, not a bvec.

This topic is closed to new replies.

Advertisement