[n3xt-D] un moteur pour PureBasic

Généralités sur la programmation 3D
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

Voici la cinquième mise à jour de n3xtD.

Voici les principaux secteurs de cette mise à jours:
- Les fonctions 2D de bases sont dispo.
- Les mesh animé sont eux aussi enfin disponibles.
- Les ombres .
plus un certains nombres d'autre fonctions diverses.

Petites précisions concernant les élément ajoutés:
- les animations: Irrlicht supporte pas mal de formats d'animations. Les plus stables et moins buggués
restent les formats MD2, MS3D et surtout B3D.
MD3 et X sont bugués et manquent encore de maturité, les autres, je n'ai pas testé (Collada par exemple).

- Les shadows: il ne s'appliquent qu'au meshs animés. C'est un choix d'Irrlicht. Il s'agit de ShadowVolume,
en software, donc relativement gournant en ressources. Pour aller plus loin au niveau des ombres dans les
applications, il faudra alors passer par les quasi-incontournables shaders, comme sous la plupart des
moteurs actuels.

4 nouveaux samples d'ajoutés (38,50,51 et 52).


Les package en C++ est quasi prêt, il sera en ligne dès demain normalement ;)


Les liens sont toujours ceux du post original. ;)


Les prochains axes de travail sont axés sur:
- premieres instructions pour la gestion des GUI.
- integration de la physique.


Image Image
Force et sagesse...
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

Comme j'ai vu ton annonce sur le post anglais (plein de fautes au passage, tu vas avoir du mal à être pris au sérieux! enfin ça va ils sont cools), je me suis dit que je pouvais tenter la compil sur l'imac. J'ai copié le contenu du dossier MacOSX dans la racine, j'ai renommé le fichier "n3xtD_Bones.cpp" en "n3xtd_Bones.cpp". Un petit make && make sharedlib_osx, et pour l'instant ça roule Je continue mes tests, mais j'étais trop impatient :)
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

djes a écrit :enfin ça va ils sont cools), je me suis dit que je pouvais tenter la compil sur l'imac. J'ai copié le contenu du dossier MacOSX dans la racine, j'ai renommé le fichier "n3xtD_Bones.cpp" en "n3xtd_Bones.cpp". Un petit make && make sharedlib_osx, et pour l'instant ça roule Je continue mes tests, mais j'étais trop impatient :)
Cool pour ce début de retour d'expérience et merci pour l'info ;)

djes a écrit :Comme j'ai vu ton annonce sur le post anglais (plein de fautes au passage, tu vas avoir du mal à être pris au sérieux!
L'anglais n'est pas ma tasse de thé. Je fais des efforts, mais j'avoue être encore loin du compte.
J'ai essayé, ma fois, mon but était surtout de dire que cela existe :roll:
Force et sagesse...
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

tmyke a écrit :L'anglais n'est pas ma tasse de thé. Je fais des efforts, mais j'avoue être encore loin du compte.
J'ai essayé, ma fois, mon but était surtout de dire que cela existe :roll:
Oui, c'est pas trop grave, je ne prétends pas être bon non plus ;). Ce n'est pas comme si tu passais un entretien d'embauche! Sûr qu'ils préféreront un français qui code bien et qui est moyen en anglais que le contraire :)

Pour la compil, j'ai dû passer par xcode pour créer les .o des trois fichiers spécifiques mac, mais après ça bloque. Je crois que je vais devoir passer par xcode pour tout... On verra quand j'aurai le temps, à tête reposée! Dommage, j'y étais presque!
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

Salut Tmyke,

Est-ce que tu sais ce que ça signifie cette ligne

Code : Tout sélectionner

//! _IRR_XBOX_PLATFORM_ for XBox
dans le fichier IrrCompileConfig.H ?

ça signifie que ce que l'on peut programmer est compatible avec la XBox??


Sinon, dans la famille des questions lourdes, j'ai ai une autre de bonne. La première chose qui m'a fait tilt en testant tes exemples, c'est la prise importante de ressources CPU. Aussi je lis ceci (fichier IrrLichtDevice.H)

Code : Tout sélectionner

:But note that Irrlicht will not be able to fetch user input
		then. See irr::SIrrlichtCreationParameters::WindowId for more
		informations and example code.
		*/
		virtual bool run() = 0;

		//! Cause the device to temporarily pause execution and let other processes run.
		/** This should bring down processor usage without major
		performance loss for Irrlicht */
		virtual void yield() = 0;
A priori, et c'est une bonne nouvelle, il y a peut-être moyen de calmer la gourmandise en CPU, non?

Bien sûr, je compte sur ta tolérance vis-à-vis de la pertinence de mes questions. C'est vraiment dans le cadre de l'amélioration et comme je n'y connais que trop peu en C++, ben je balance les bouts de manière brute...

Ollivier
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

Pour la XBox360, oui, cela tourne apparement dessus. Y-en a même qui arrivent à passer Irrlicht sous IPhone (OpenGLES) ;)
Sinon, dans la famille des questions lourdes, j'ai ai une autre de bonne. La première chose qui m'a fait tilt en testant tes exemples, c'est la prise importante de ressources CPU. Aussi je lis ceci (fichier IrrLichtDevice.H)
certaines fonctions sont là pour mieux adapter le moteur. Et cela permet de mieux faire coller le moteur à certains environnement ou situations.
Je n'ai pas encore tout testé toutes les combinaisons possibles.
Dans le cas précis que tu énonces, il semble que cela permet de mieux donner l'exclusivité de ton moteur(donc de ton application) par rapport aux autres processus
tournant.
Force et sagesse...
beauregard
Messages : 1307
Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse

Message par beauregard »

tmyke a écrit :Pour la XBox360, oui, cela tourne apparement dessus. Y-en a même qui arrivent à passer Irrlicht sous IPhone (OpenGLES) ;)
à ces quelques mots, mes yeux sont grands ouverts ! :D
config de mon ordi: seven, directx11, Pentium(R) DualCore E5700, RadeonHD 4550 512MB, PureBasic 4.61 x86
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

@Tmyke
Force le périph à faire une pause d'exécution et laisse les autres process s'exécuter. ça doit apporter un usage abaissé du CPU sans qu'il y ait de pertes majeures de performances pour IrrLicht (et désormais N3xt).
Je te dis ça à la volée ne m'étant pas du tout penché encore sur les sources de N3xt. Je n'ai été qu'à l'essentiel du démarrage : comment il crée l'écran graphique, et c'est là que j'ai aperçu tout ça.

Pour le château et autre affichage complexe, il ne faut pas demander la lune: c'est normal qu'il prenne 100%. Ogre ne ferait pas mieux. Mais pour ce qui est de l'affichage d'une vingtaine de triangles, là ça pourrait être bien de ne pas offrir constamment le CPU au moteur.

Et, de toute façon, il n'y a pas de souci puisque justement les instructions pour calmer le bourrin sont là (yield et sleep)!

Je tâcherai de télécharger ta mise à jour. Je n'ai pas encore regardé les derniers samples. (attention, je suis une exception car mes cartes graphiques m'empêchent d'avoir des effets spectaculaires donc, tous les news vont me passer sous le nez). Bon courage Tmyke.
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

l'emploie et le partage des ressource est toujours un sujet à la fois passionnant et souvent complexe.
Des instructions de contrôle plus fin du moteur sont sans aucun doute à rendre disponibles.
Je me pencherais dessus, et je ferais des tests pour rendre la chose la plus civilisé possible.
(attention, je suis une exception car mes cartes graphiques m'empêchent d'avoir des effets spectaculaires donc, tous les news vont me passer sous le nez)
Ne crois pas ça, Irrlicht tourne même sur la plupart des cartes intégrées, car passant la plupart du temps
par le pipeline fixe (même si effectivement tu ne ferra certainement pas un FarCry3 avec) ;)
Force et sagesse...
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

tite question en passant :

est ce qu'il a dans N3xtD des images que l'on peut garder en premier plan ?
(dsl, je ne sais vraiment plus comment ca s'appelle)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Progi1984 a écrit :tite question en passant :

est ce qu'il a dans N3xtD des images que l'on peut garder en premier plan ?
(dsl, je ne sais vraiment plus comment ca s'appelle)
un nag screen ?
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

Progi1984 a écrit :tite question en passant :

est ce qu'il a dans N3xtD des images que l'on peut garder en premier plan ?
(dsl, je ne sais vraiment plus comment ca s'appelle)
Tu veux dire par là comme une image 2D (comme le nag screen dont parle Dobro, ou genre Wakermark), ou tu parles d'éléments 3D ?
Tu aurais un cas de figure à décrire ?
Force et sagesse...
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Je pensais plus à une image 2D genre watermark.

En fait le but est plus de créer une console à la Quake, si vous voyez ce que je veux dire.
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

Dans ce cas la, pas de soucis, tu as un exemple d'utilsation dans le genre Watermark dans un certains nombres d'exemples
du pack, comme le sample043 ou encore le sample052.

Sinon, dans la mise a jour a venir de ce WE , voir les fonctions GUI que j'ai commence a integrer qui pourront t'aider.
;)
Force et sagesse...
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Vivement demain alors :)
Répondre