• 10
• 12
• 12
• 14
• 17

# hlsl normalize a float9 ?

This topic is 1858 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

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

Ehm, language?

##### Share on other sites

What sort of data does the float[9] represent? Is it a 3x3 matrix? or perhaps 3 Vector3's?

##### Share on other sites

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.

Edited by TiagoCosta