Introduction to the DirectX 9 Shader Models - Nvidia
Introduction to the DirectX 9 Shader Models - Nvidia Introduction to the DirectX 9 Shader Models - Nvidia
Precision Pitfalls If you are lighting in world space, your distances are typically far away from the origin, and most of the 16 bits are allocated to the left of the decimal point to maximize range, at the expense of precision. World Space Vectors ps.2.0 sub r0, t0, t1 //
Precision Pitfalls • Most precision problems we’ve seen at fp16 are due to developers doing worldspace computations per-pixel – Classic example is per-pixel attenuation – Easy solution, change to light space in the vertex shader instead and pass down the result
- 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
- Page 59 and 60: Lighting Render Loop • Per-Object
- Page 61 and 62: Lighting Render Loop Summary • Go
- Page 63 and 64: Predication • Essentially a desti
- Page 65 and 66: Caveats for Conditional Instruction
- Page 67 and 68: Texture fetch with gradients • Gr
- Page 69 and 70: Arbitrary swizzling • Extremely u
- Page 71 and 72: Pixel Shader Precision • Low Prec
- Page 73 and 74: How to use fp16 • In HLSL or Cg,
- Page 75: Precision Pitfalls • An IEEE-like
- Page 79 and 80: Fully Fragment Shading? • Doing t
- Page 81 and 82: Precision Pitfalls • Avoid precis
- Page 83 and 84: Precision Summary • If high-preci
- Page 85 and 86: vs_3_0 • More flow-control • In
- Page 87 and 88: vs_3_0 inputs
- Page 89 and 90: vs_3_0 Output example vs_3_0 dcl_co
- Page 91 and 92: ps_3_0
- Page 93: Lunch Break We will start back up a
Precision Pitfalls<br />
• Most precision problems we’ve seen at<br />
fp16 are due <strong>to</strong> developers doing worldspace<br />
computations per-pixel<br />
– Classic example is per-pixel attenuation<br />
– Easy solution, change <strong>to</strong> light space in <strong>the</strong><br />
vertex shader instead and pass down <strong>the</strong> result