If I can leave the trap any time I want, and go to some other hardware which is not trapped (or which is a different trap) then by definition I am not trapped.
Consider a C++ compiler. If you are using the MS C++ compiler, you are relying on proprietary software, which harms the ozone layer and causes pain in small rodents. But you are not automatically "trapped" just because it is proprietary. If you stick to the C++ standard language you can always switch to a different compiler, such as G++. If you instead switch from MSVC to Borland C++ you are no more trapped than before, because the existence of GCC means you have an escape any time you want.
Similarly, if my software uses 3D, but does not use nVidia specific features, then I am not trapped. The nVidia driver is hardware specific, so it is, in a sense, trapped, but the user apps are not trapped. I can go to ATI or nouveau or the Intel 3D card or some other card, or even a software renderer, because my software is not relying on the specific hardware. It is not trapped.
Now, until recently there may not have been ANY 3D hardware that was blob-free. But in that case you might say that ALL 3D software is "trapped" and the trap is 3D itself. I think that's taking things a bit too far. But regardless, the app itself is not tied to a specific non-free bit of hardware.