Fixed point & floating point
Posted: Thu Mar 16, 2006 2:47 am
ok, lets say I send a bunch of vertex data (floats) to vu1 for processing. At the end of processing I would have to convert them to fixed point so that they can be sent to the GIF right?
The XYZ2 register accepts 16bit fixed point values for x and y, but the Z value is 32 bit unsigned integer. Ok, so I guess its not a big deal because there are vu instructions to do this easily.
Even though the fixed point values would be 32 bits in vu memory, the upper bits would just be chopped off to make it 16 bits for x and y.
I just found it kinda strange, but I guess it is more efficient for the GS to be doing operations with fixed point numbers rather than floating point?
Also it seems most of the instructions operate on floating point numbers rather than integer (fixed point). So would it be kinda pointless to just send fixed point data to vu1 in the first place? I am guessing they use floating point for better accuracy?
The XYZ2 register accepts 16bit fixed point values for x and y, but the Z value is 32 bit unsigned integer. Ok, so I guess its not a big deal because there are vu instructions to do this easily.
Even though the fixed point values would be 32 bits in vu memory, the upper bits would just be chopped off to make it 16 bits for x and y.
I just found it kinda strange, but I guess it is more efficient for the GS to be doing operations with fixed point numbers rather than floating point?
Also it seems most of the instructions operate on floating point numbers rather than integer (fixed point). So would it be kinda pointless to just send fixed point data to vu1 in the first place? I am guessing they use floating point for better accuracy?