1. A computer-implemented method, comprising: defining a first version of a scene within a main application, wherein the first version of the scene is configured for processing by a physics processing unit (PPU) to produce a first animation for display; and defining a second version of the scene within the main application, wherein the first and second scene versions differ in their degree of physics-related complexity and the second version of the scene is configured for processing only by a software-based physics engine running on a central processing unit (CPU) to produce a second animation for display; selecting one of the first version of the scene and the second version of the scene based on hardware capabilities to produce a selected version of the scene; processing the selected version of the scene using the hardware to produce the first animation or the second animation; and displaying the first animation or the second animation.