#0 

13-04-2007 09:42:45

pikadon
Petit nouveau
Date d'inscription: 10-04-2007
Messages: 4

public IrrlichtDevice(DriverType type, dimension2d dim, int bits, bool fullscreen, bool stencil, bool vsync, bool antialias, IntPtr windowHandle)
        {
            Console.WriteLine("Irrlicht.NET CP v" + CPVersion + " running");
   exeption ---->  Initialize(CreateDeviceA(type, dim.ToUnmanaged(), bits, fullscreen, stencil, vsync, antialias, windowHandle.ToInt32()));
            AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
            MainNativeEvent = OnNativeEvent;
            Device_SetCallback(_raw, MainNativeEvent);
        }

J'ai déjà réalisé quelques maquettes avec irrlicht/newton/openAl mais jamais avec .net et c#. Je réalise un soft MDI qui me permet, entre autre, de visualiser en 3D les trajectoires de planeurs radio-commandés équipés de télémétrie. Bref, pour débuter, je fait tourner l'exemple dispo dans le SDK de irr CP dans une de mes fenetres dans un thread à part.
Lorsque j'utilise le debugger, une fois sur deux une exeption est levée sur l'init du device. J'ai pas constaté de pb sans debug. N'y connaissans pas grand chose quant aux exeptions et aux particularités de irr CP, je me tourne vers vous.
Y a t'il une solution à ce pb ?

merci d'avance.

Hors ligne


#1 

16-04-2007 11:42:01

pikadon
Petit nouveau
Date d'inscription: 10-04-2007
Messages: 4

Bon, j'ai pas trop cherché mais il semble que le bug se produise lorque le volet winform dans laquelle tourne irrlicht n'est pas développé au moins une fois. J'utilise la lib winform "weifenluo". Peut etre s'agit-il d'un pb lié au handle du winform non lié à irrlicht. A creuser...

J'ai un autre souci avec les évènements. Le rendu est effectué dans un panel en marge d'un property grid dans un winform. Les évènements logtext sont bien remontés mais pas les claviers.
Je pense qu'il s'agit d'un pb lié au panel, aussi ma question :

Dans quel type de form doit on afficher irrlicht ?

merci d'avance de votre aide.

Hors ligne


#2 

16-04-2007 12:18:50

DeusXL
Abonné
Lieu: Paris
Date d'inscription: 27-09-2006
Messages: 174

Le débuggueur de Visual Studio est un vrai créateur de problèmes... Et de lenteur... Mais bon on peut pas s'en passer...
Donne le code d'initialisation de ton device stp smile


Fanatique d'Irrlicht + Fanatique de Mono + Fanatique de Linux => Créateur d'Irrlicht .NET CP bien sûr !
Version actuelle d'Irrlicht .NET CP : 0.8, Version en test : 0.9.

Hors ligne


#3 

16-04-2007 12:27:36

pikadon
Petit nouveau
Date d'inscription: 10-04-2007
Messages: 4

instance

Code:

    device = new IrrlichtDevice(drivertype,
                                        optimalmode.Resolution,
                                        optimalmode.Depth, fullscreen,
                                        true, //Stencil Buffer (for shadow)
                                        false, //Vertical Synchronisation (use it if you want your application not to go over 70 FPS)
                                        false, //Anti Aliasing
                                        this.myDeviceHDLE); //

def

Code:

   IntPtr myDeviceHDLE;
   IrrlichtDevice device;

   myDeviceHDLE = this.panel1.Handle;

irr tourne dans un thread different du document.

voilà, tout me parrait normal...

Hors ligne


#4 

18-04-2007 16:06:25

DeusXL
Abonné
Lieu: Paris
Date d'inscription: 27-09-2006
Messages: 174

irr tourne dans un thread different du document.


Ca peut venir de là, mais là j'avoue que j'ai jamais trop creusé la manière dont Irrlicht se débrouillait pour se lier à un handle... Regarde sur les tutos d'Irrlicht .NET CP (ou sur le forum), il doit y en avoir un qui montre comment se débrouiller sans deux threads.


Fanatique d'Irrlicht + Fanatique de Mono + Fanatique de Linux => Créateur d'Irrlicht .NET CP bien sûr !
Version actuelle d'Irrlicht .NET CP : 0.8, Version en test : 0.9.

Hors ligne


#5 

19-04-2007 10:05:20

pikadon
Petit nouveau
Date d'inscription: 10-04-2007
Messages: 4

J'ai mis à jour mon framework MDI, passant du Dockpalnel suite 1.2 au 2.0 tout frais démoulé. Je n'observe plus le pb. Pour l'éviter, il fallait "dé-docker" la fenetre au moins une fois...le pointeur (handle) ne devait pas etre le bon je pense.
Voilà, j'ai d'autres soucis extérieur à irrlicht qui tourne correctement, j'ai rajouté une mise en sommeil légère pour laisser du temp proc au rafraichissement des autres fenetres filles et l'intégration me parait jouable. J'avais un autre probleme concernant les évènements clavier (mais pas souris) que je n'arrive pas à intercepter, aussi bien dans la messagerie irr que Dockpanel. Je vais creuser ça une fois résolu les autres soucis.
A+

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
881 membres
1426 sujets
11116 messages
Dernier membre inscrit: Bidule
11 invités en ligne
Aucun membre connecté
RSS Feed