Introduction to the DirectX 9 Shader Models - Nvidia
Introduction to the DirectX 9 Shader Models - Nvidia Introduction to the DirectX 9 Shader Models - Nvidia
We lose two instructions • Lit • Dst – These complex lighting setup instructions disappear from the spec... • They remain in vs 1.0 and 1.1, but they’re not in vs 2.0 • But we add macros: – sincos (8 slots) // cos in x, sin in y – crs (2 slots) // Cross Product
Changes to the VS numbers • 256 instructions of stored program (was 128) • 256 constants (was minimum of 96) • Address register is now vector (was scalar) • New registers – 64 iteration control registers (as 16 vectors) – 1 scalar loop register (only readable within the loop) – 16 1-bit Boolean registers • Max number of instructions executed per shader is now tentatively 1024 (max was always 128 before jumps)
- Page 1 and 2: Introduction to the DirectX 9 Shade
- Page 3 and 4: Legacy 1.x Shaders • No discussio
- Page 5 and 6: vs_2_0 • Longer programs • Inte
- Page 7: vs_2_0 • Old reliable ALU instruc
- Page 11 and 12: And some smaller details • Loadin
- Page 13 and 14: Setting Vertex Shader Registers •
- Page 15 and 16: Swizzles & Modifiers
- Page 17 and 18: Control Flow Instructions • Subro
- Page 19 and 20: Loops
- Page 21 and 22: HLSL and Conditionals • Initial r
- Page 23 and 24: Original HLSL Compiler Results vs_2
- Page 25 and 26: Begin Sim VS Sim
- Page 27 and 28: Caps for vs_2_x Sim • New D3DVSHA
- Page 29 and 30: Vertex Shader Predication - HLSL Si
- Page 31 and 32: Vertex Shader Predication Details S
- Page 33 and 34: Nested Static Flow Control Sim •
- Page 35 and 36: Dynamic Flow Control - HLSL Sim for
- Page 37 and 38: End Sim VS Sim
- Page 39 and 40: 2.0 Pixel Shader Instruction Set
- Page 41 and 42: Argument Swizzles •.r, .rrrr, .xx
- Page 43 and 44: ps.2.0 Review - Comparison with ps.
- Page 45 and 46: Caps for Pixel Shader 2.x D3DCAPS9
- Page 47 and 48: Pixel Shader 2.x • 512 instructio
- Page 49 and 50: Single Pass Lighting? • Sometimes
- Page 51 and 52: Single-Pass Lighting ? • Detailed
- Page 53 and 54: Single Pass Lighting? • Putting m
- Page 55 and 56: Single Pass Lighting? • It doesn
- Page 57 and 58: Lighting Render Loop • Per Light
Changes <strong>to</strong> <strong>the</strong> VS numbers<br />
• 256 instructions of s<strong>to</strong>red program (was 128)<br />
• 256 constants (was minimum of 96)<br />
• Address register is now vec<strong>to</strong>r (was scalar)<br />
• New registers<br />
– 64 iteration control registers (as 16 vec<strong>to</strong>rs)<br />
– 1 scalar loop register (only readable within <strong>the</strong> loop)<br />
– 16 1-bit Boolean registers<br />
• Max number of instructions executed per shader<br />
is now tentatively 1024 (max was always 128<br />
before jumps)