Skip navigation
Currently Being Moderated

Using Stage3D on Flash11 ActiveX ocx, running in a Direct3D app

Nov 3, 2011 3:12 AM

Tags: #stage3d #activex #direct3d #directx #ocx

Hi, I have a Direct3D9 app that uses the Flash ActiveX control to render Flash .swf content.  This works for normal flash content but I can't get it working with Stage3D content.


Does anyone know if this is possible?  Someone else is also trying the same here -


Here's some more detail:

- I am using flash11c.ocx (I have also tried the the beta Flash32_11_2_202_18.ocx)

- The reference .swf I am using is from here (, I have tried several other swf's, still no result.

- The reference .swf plays fine in the stand alone Flash Player11 (is this also called the Projector?), which must also be using the same ActiveX control.



The problem is simply I get a black screen, with WMode set to 'direct', which is what everything I find says I must do.


Interestingly, if I set WMode to 'gpu' I get a grey screen, but the little performace statistic graph gets partially drawn top-left (no data, just labels) and I can interact with it a little bit (dragging).


If I set WMode to 'transparent' or 'opaque' or 'window' I get a black screen with a fully drawn graph, the data is plotting and the DRIV entry says n/a (no view), which sounds right.


I suspect that there's some error occuring when Stage3d initialises it's Direct3D device (maybe because I'm also using a Direct3D device), are there any logs being produced that the FlashPlayer outputs?  Or how do I go about debugging the Stage3D?


Or maybe there's some other parameters other than the WMode that must be set correctly for Stage3D to work.  Somehow the stand alone player is using the same component and working!

  • Currently Being Moderated
    Nov 3, 2011 3:18 PM   in reply to stu.pot

    Hello stu,

    The standalone/projector player doesn't using the ActiveX plugin, it uses its own contained player runtime.  I think you are correct it sounds like an error is getting thrown upon context3D creation.  Make sure you add an Event.ERROR listener to the stage before requesting the context3d:

    stage.stage3Ds[0].addEventListener( ErrorEvent.ERROR, handleError );


    Also if you get that far it would you should turn on context3D.enableErrorChecking = true in case there are some other failures down the pipeline.  Unfortunately embedded ActiveX plugin in custom apps is not officially supported, but I'd like to help you with any debugging if I can.




    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points