Radeon 9700 sin and cos functions?

Does the 9700 support these functions (sin, cos) in its vertex and pixel shaders? If so, what are they useful for.

Can anyone explain how the three pixel units (tmu, texture addreess processor, and color processor) of the 9700 work in conjunction or function, as a part of the pipeline. Supposedly the color processor works with 24 bit precision, the address processor at 32, but what about the tmu? If all of those processors are in one pixel shading unit, with 32 and 24 bits per component, how is the complete pixel unit 128bit?
 
Some classic procedural texture types use cos/sin functions to create the desired effect, so that would be a possible use for the pixel shader.

Procedural geometry/animation/deformation comes to mind for the vertex shader.

K-
 
Kristof already pointed out some of the main uses of sin/cos in your shaders. As far as I've read, the 9700 does not support these functions in HW (the NV30 does), but they can easily be 'faked' using a DP4 operation (Taylor series). It's not clear whether sin/cos on NV30 will be a single cycle operation or not. If it's not, you may see people using DP4 for a lower precision, but faster variant.
 
The Public DX9 PPT mentions SinCos as a macro, so that probably translates to a Taylor Series. Texture Lookup is the final answer to approximating any function you might want, though this is only an easy solution for the pixel shader, not the vertex shader.

K~
 
Back
Top