For Flare3D the context object is exposed through the scene.context object. So to find out if you are using software you wait for your scene to initialize.
private function iNitsCene():void { scene = new Scene3D(this); scene.addEventListener(Scene3D.COMPLETE_EVENT, Complete); } private function Complete(eVt:Event):void { //Context3DRenderMode.AUTO if(scene.context.driverInfo == Context3DRenderMode.SOFTWARE || scene.context.driverInfo.indexOf("Software") != -1) { // Handle notifying users about their unsupported computers here. } else { // Start up the awesome! } }
Update:
A good practice is to rely on Context3DRenderMode.AUTO, Stage3D will try to run on hardware, then fallback to software if the drivers are too old (released before January 1st, 2009), if the graphics card is not support Pixel Shader 2.x or if the graphics card chipset is blacklisted.
mYsTage3D.addEventListener(Event.CONTEXT3D_CREATE, onContextCreated); // request the 3d context mYsTage3D.requestContext3D(Context3DRenderMode.AUTO); // when the context is available, grab it function onContextCreated ( eVt:Event ):void { // grab the 3D context var cOntext3D:Context3D = mYsTage3D.context3D; // are we running hardware of software ? var isHW:Boolean = context3D.driverInfo.toLowerCase().indexOf("software") == -1; }