Bonjour,
Je rencontre un problème lors de l'un de mes programme.
J'utilise Mobile Direct3D pour réaliser quelques tests, mon programme crée notament quelques sprit simple et les déplace à l'ecran.
Sous emulateur aucun problème.
Sous windows mobile 6.5 aucun problème.
Sous windows ce 5 (vrai device) rien ne va plus : j'ai le droit a une exception non gérée lorsque je crée mon device.
Le problème vient donc de wince5, or ce dernier est compatible avec les applications de type direct3d.
Après quelques recherche sur internet j'ai pu trouver des choses comme ceci :
Ilya Tumanov
Windows CE is a custom built modular OS, it can contain whatever customer wants ranging from headless (no screen at all) device to device with 3d support. You can't install it, OS needs to be build with it from the start. Call your device OEM and ask them to add D3DM support into the OS image.
Windows Mobile 5.0 (and 6.0), on the other hand has preset features and includes D3DM support. The quality and performance of D3DM drivers provided by OEMs is, however, questionable in most cases.
J'ai pour ma part essayer de copier les dll correspondant directement dans le device mais rien n'y fait j'ai toujours la même erreur.
Je pense que cela ne vient pas de mon code mais vraiment du hardware et de l'Os qu'il y a derrière mais je ne sais pas trop quoi faire cependant je met quand même mon code, on ne sait jamais.
Cordialement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 PresentParameters presentParams = new PresentParameters(); presentParams.Windowed = true; presentParams.SwapEffect = SwapEffect.Discard; device = new Device(0, DeviceType.Default, this.Handle, CreateFlags.None, presentParams); spriteTexture = TextureLoader.FromStream(device, Assembly.GetExecutingAssembly().GetManifestResourceStream("SmartDeviceProject7.donuts.bmp"), D3DX.Default, D3DX.Default, D3DX.Default, D3DX.Default, Usage.None, Format.Unknown, Pool.VideoMemory, (Filter)D3DX.Default, (Filter)D3DX.Default, Color.Black.ToArgb()); device.DeviceReset += (OnResetDevice); OnResetDevice(device, null);
Partager