I try to keep this information up to date and accurate. If you notice any errors please send me email.

The following pages are the updated information from Real-Time Shader Programming.

Vertex Shader Input Registers

Vertex Shader Output Registers

Vertex Shader Instruction Modifiers

Vertex Shader Instruction Reference

Vertex Shader Revision History


These are the revisions history of vertex shaders: Each section contains the changes from the previous version.

DirectX 9.0

Version 3.0
Vertex Shader 3.0 specification was added.

Version 2.0
Vertex Shader 2.0 specification was added.

The dcl statement must be included in all vertex shaders to decouple the vertex stream from the vertex shader Registers (except temp and constant) must be declared before use.

Static flow control added.

Minimum instruction count increased to 256.

aL register added.

The following macros were added: abs crs lrp nrp pow sincos sgn

The following instructions were added: call callnz else endif endloop endrep if label loop mova rep ret

The following instructions were modified: mov expp def frc logp vs

DirectX 8.1

DirectX 8.0a

Version 1.1
Support for the a0.x address register was added.

Version 1.0
Initial release of vertex shaders.