What is the difference between Hardware and Software Vertex Processing?
Hardware and Software vertex processing really applies to HAL devices. When you push vertices through the 3Dpipeline, they need to be transformed (by the world, view, and projection matrices in turn) and lit (depending on the d3dlights set) – this processing stage is known as T&L (for Transform & Lighting). Hardware vertex processing means T&L is done in hardware if the hardware supports it; Software vertex processing does T&L in software. The general practice is to follow a fallback strategy. Try creating a Hardware T&L device first, and if that fails try Mixed, and if that fails try Software. (If software fails you must cleanup and exit with an error code).