Jump to content

  • Log In with Google      Sign In   
  • Create Account

hlsl normalize a float9 ?


Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.


  • You cannot reply to this topic
4 replies to this topic

#1   Members   -  Reputation: 148

Like
0Likes
Like

Posted 25 March 2013 - 03:23 AM

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 



#2   Members   -  Reputation: 459

Like
0Likes
Like

Posted 25 March 2013 - 03:53 AM

Ehm, language?



#3   Members   -  Reputation: 1424

Like
0Likes
Like

Posted 25 March 2013 - 04:09 AM

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


Currently working on an open world survival RPG - For info check out my Development blog: ByteWrangler

#4   Crossbones+   -  Reputation: 3519

Like
1Likes
Like

Posted 25 March 2013 - 04:12 AM

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[i], 2);

z = sqrt(z);

for(int i = 0; i < 9; i++)
    data[i] /= 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, 25 March 2013 - 04:18 AM.


#5   Moderators   -  Reputation: 48683

Like
0Likes
Like

Posted 25 March 2013 - 05:05 AM

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?






Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.




PARTNERS