#1 

13-04-2007 07:42:45

pikadon
Membres
Date d'inscription:
Messages: 4
IP: 80.15.104.144
Courriel

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


#2 

16-04-2007 09:42:01

pikadon
Membres
Date d'inscription:
Messages: 4
IP: 80.15.104.144
Courriel

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


#3 

16-04-2007 10:18:50

DeusXL
Membres
Avatar de DeusXL
Date d'inscription:
Messages: 174
IP: 82.66.209.23
Courriel

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


#4 

16-04-2007 10:27:36

pikadon
Membres
Date d'inscription:
Messages: 4
IP: 80.15.104.144
Courriel

instance

    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
   IntPtr myDeviceHDLE;
   IrrlichtDevice device;

   myDeviceHDLE = this.panel1.Handle;

irr tourne dans un thread different du document.

voilà, tout me parrait normal...


Hors ligne


#5 

18-04-2007 14:06:25

DeusXL
Membres
Avatar de DeusXL
Date d'inscription:
Messages: 174
IP: 82.66.209.23
Courriel

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


#6 

19-04-2007 08:05:20

pikadon
Membres
Date d'inscription:
Messages: 4
IP: 80.15.104.144
Courriel

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é
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
141 invités en ligne
membre en ligne: -
RSS Feed