Hello,
I'm looking for VU bitwise logic operations instructions, I understood that the VU has an iALU which is accessible thru the lower instructions, and as a standard integer ALU I hoped to find instructions like right and left bit shifting, XOR, bit rotating... And it seems there is only add, sub, and & or.... is it a really limited ALU ????
Or simply the VU is really not a good way to handle bitwise operations... as the MIPS can be...
Is by nature the VU1 only dedicated to work on objects values (vertices, faces, lightsourcing...) and not for example on texture data/pixel values like a bumpmap for example ? (assuming the data can be stored in the VU1 memory of course)
iALU Lower Instructions
iALU Lower Instructions
- TiTAN Art Division -
http://www.titandemo.org
http://www.titandemo.org
-
- Posts: 564
- Joined: Sat Jan 17, 2004 10:22 am
- Location: Sweden
- Contact:
The VU's are vector ALU's ( lets expand VU to Vector Unit ) wich where made to perfom 4x floats vector calculations well, so yes emphasis is on vector operations.
you can generate 32bit data/textures pretty nicely with the vu's. but I would not say its something they where design for. Also you have to remember that the iALU only handles 16bit integers, making it less usable for basically anything else than loop counters ( ok that might be abit harsh, but probably in lieu with design decisions ).
you can generate 32bit data/textures pretty nicely with the vu's. but I would not say its something they where design for. Also you have to remember that the iALU only handles 16bit integers, making it less usable for basically anything else than loop counters ( ok that might be abit harsh, but probably in lieu with design decisions ).
Kung VU
Can you tell more about this ??? Without bitshifting operations I have trouble to see how I would be able to generate 8888 RGBA textures (or can I split VU 32bits floating point registers into four 8bits registers to handle R,G,B,A component ?blackdroid wrote:you can generate 32bit data/textures pretty nicely with the vu's.
Concerning my goal, playing for 16bits integer register was what I need as I planned to convert within the VU planar information into 16bits texture...
By the way, blackdroid, do you have somewhere an example of VU texture generation ? Or simply texture processing like I would do to code a oldsk00l bumpmapping ? (looking at each pixel RGB values....) ?
Thx !
Nice to have a Kung VU here :D
EDIT:
Obviously I'm talking about old 2D bump mapping when you generate a classic environment map and use a texture as a bump map which represent object’s surface height variations using RGB intensity.
Then by taking the difference between the height of the pixel and the height of its neighbours from the bump map, you'll have your nx and ny normals and plot the envmap pixel at nx,ny.
DOT3 bump mapping will be a good practice when having digesting 5 times the tutorial from Sparky...
- TiTAN Art Division -
http://www.titandemo.org
http://www.titandemo.org