i have a float data[9];
i need to normalize this
but i tryed to do
data = normalize(data)
which it did not like , because its an array ,
how would i code this please
i have a float data[9];
i need to normalize this
but i tryed to do
data = normalize(data)
which it did not like , because its an array ,
how would i code this please
If data[9] is simply a 9 dimensional vector you can do it manually:
float z = 0;
for(int i = 0; i < 9; i++)
z += pow(data, 2);
z = sqrt(z);
for(int i = 0; i < 9; i++)
data /= z; //Or use a temporary vector if "data" is in a constant buffer
If data[9] is a 3x3 matrix divide each value by the determinant.
Do you have to normalize it in the shaders? It would be faster do normalize it in the CPU and send to the shaders.
It depends on how you define 'normalize'. With regards to length, like Tiago posted, so their Pythagorean length is 1? With regards to weighting so they sum to 1?