Articles précédents : Développeur
- [18] Nomination pour les Trophées du Libre
- [48] D-Bus 1.0, future fondation de nos bureaux
- [127] Java libre : un rêve devient réalité
- [4] Base audio libre de mots chinois
- [137] Mono passe en version 1.2
- [31] Naissance du projet Armadeus
- [0] Qt Jambi technology preview et concours
- [0] Conférence PHP Québec 2007 : Appel aux conférenciers
- [33] Lancement du projet GlobalGCC
- [14] Prologin, édition 2007
Liens connexes
- Cooki3d (914 hits)
- Exemples en ligne (1183 hits)
- Framework en ligne (112 hits)
- docs fr. framework (171 hits)
- OpenSceneGraph (132 hits)
- SDL (55 hits)
Dépêche modérée par
Dépêche éditée par
Développeur : Cooki3d : une première version GNU/GPL
Posté par Bertrand Greslier. Modéré le 20 novembre 2006.C'est un projet Open Source et multi plate-forme dédié à la 3D (limité à Linux et Windows pour cette première version). Cet outil s'appuie sur des bibliothèques multi plates-formes et Open Source robustes (SDL, OpenSceneGraph...) ainsi que sur l'OpenGL. La licence de diffusion choisie est la GNU GPL pour les projets open sources. Néanmoins une licence propriétaire commerciale payante est disponible pour les entreprises ou particuliers ne désirant pas diffuser leur code source.
Vous pouvez d'ores et déjà tester des démos dans votre navigateur.
Cooki3d (914 hits)
Exemples en ligne (1183 hits)
Framework en ligne (112 hits)
docs fr. framework (171 hits)
OpenSceneGraph (132 hits)
SDL (55 hits)
> Lire la suite (10 commentaires, moyenne: 2,4). [dépêche : 2023 caractères]
Cooki3d est d'abord une API pour la 3D développée en C++. Ce langage a été choisi pour son efficacité, sa portabilité et surtout pour sa richesse en terme de ressources existantes dans la 3D (SDL, OpenSceneGraph [1500 utilisateurs déclarés!], ...). Cet outil veut rendre la vie facile aux programmeurs (que j'encourage au passage à travailler sous Linux pour des raisons de productivité, d'efficacité, de coût, d'éthique...). Ainsi, cette première version offre aux programmeurs environ 18 classes de base chargeables en XML et permettant de gérer les modèles 3D, les événements, les médias... Cooki3d peut être utilisé directement comme une API ou bien le plus souvent comme un chargeur d'application grâce à un système de greffons C++.
Un framework dédié :
Cooki3d est ensuite facile d'utilisation. Un framework écrit en Java est directement accessible et déployé depuis une page web (on peut également l'utiliser en local). Il permet de créer le fichier XML décrivant l'application. Il permet également de générer et compiler des greffons de manière automatique. Ce framework nécessite encore d'avoir des connaissances de base en programmation pour cette première version si l'on utilise les greffons. [*] Néanmoins les prochaines versions supporteront les langages de script Lua et Tcl. De plus, des facilités graphiques seront ajoutées pour les nombreux utilisateurs potentiels moins portés sur la programmation.
L'utilisateur a aussi la possibilité de choisir son GUI. Les GUI disponibles pour cette première version sont SDL, Producer, Java et QT4 (ces GUI sont multi plates-formes et open source). Le GUI Java offre cette possibilité du port web, intégré à la page HTML, via une applet Java/jogl. [*] Un ajout de Gtk sera fait dans les versions suivantes.
La compilation d'un greffon nécessite d'avoir installé Mingw et Msys.
[ce texte est extrait pour 90% d'une interview donnée à www.3d-test.com]
simulation/affichage
Je cherche une lib qui puisse faire une affichage 3D, juste bouger des cubes un peu comme on bouge des carres dans un caneva. C'est juste de la visualisation.
Cooki3D peut aider a cela ?
-
[^]Re: simulation/affichage
Posté par Matthieu Duchemin (page perso, ) le 21/11/2006 à 11:22. (lien). Évalué à 3.Franchement, si c'est juste pour bouger des cubes, tu peux le faire en OpenGL ça suffit amplement. Voir les excellents tutoriels sur la programmation OpenGL qui étaient publiés dans Linux Mag dont une bonne partie est disponible sur :
http://www.linuxgraphic.org/section3d/openGL/didact.html-
[^]Re: simulation/affichage
Posté par Nicolas Boulay () le 21/11/2006 à 19:13. (lien). Évalué à 4.Je préfairerais largement une lib avec un objet que je bouge avec obj.move(x,y,z) que de repartir d'un truc ou je dois me poser la question du sens des faces ou de l'effets des différents éclairages.
-
[^]Re: simulation/affichage
Posté par bertrandg () le 21/11/2006 à 23:28. (lien). Évalué à 1.tu peux le faire facilement avec cooki3d
dans le framework fait
sur noeud root faire : new Level (level0)
sur level0 faire : new File (file0):
=> précise le chemin du modèle du cube à charger
=> précise sa position initiale
ensuite tu pourra changer la position dynamiquement
en fesant dans le code d'un évenement en fesant
file0->getPat()->setPositon( x, y, z);
...
-
[^]Re: simulation/affichage
Posté par bertrandg () le 21/11/2006 à 23:51. (lien). Évalué à 3.en fait si tu utilise par exemple tu utilise des évenements claviers le code exact (testé) pourra être celui ci
void Clevel0::codeEvtKeyGroup0( EvtKey * evt ){
//debut section utilisateur
//
if (evt->getKeySymbol() == osgGA::GUIEventAdapter::KEY_Right){
file0->getPat()->setPosition( file0->getPat()->getPosition() + osg::Vec3( 1,0,0) );
}
if (evt->getKeySymbol() == osgGA::GUIEventAdapter::KEY_Left){
file0->getPat()->setPosition( file0->getPat()->getPosition() + osg::Vec3( -1,0,0) );
}
if (evt->getKeySymbol() == osgGA::GUIEventAdapter::KEY_Up){
file0->getPat()->setPosition( file0->getPat()->getPosition() + osg::Vec3( 0,0,1) );
}
if (evt->getKeySymbol() == osgGA::GUIEventAdapter::KEY_Down){
file0->getPat()->setPosition( file0->getPat()->getPosition() + osg::Vec3( 0,0,-1) );
}
//</modifiable1> fin de section
}
-
[^]Re: simulation/affichage
Posté par bertrandg () le 21/11/2006 à 23:53. (lien). Évalué à 0.en fait si tu utilise par exemple des évenements claviers le code exact (testé) pourra être celui ci
void Clevel0::codeEvtKeyGroup0( EvtKey * evt ){
//debut section utilisateur
//
if (evt->getKeySymbol() == osgGA::GUIEventAdapter::KEY_Right){
file0->getPat()->setPosition( file0->getPat()->getPosition() + osg::Vec3( 1,0,0) );
}
if (evt->getKeySymbol() == osgGA::GUIEventAdapter::KEY_Left){
file0->getPat()->setPosition( file0->getPat()->getPosition() + osg::Vec3( -1,0,0) );
}
if (evt->getKeySymbol() == osgGA::GUIEventAdapter::KEY_Up){
file0->getPat()->setPosition( file0->getPat()->getPosition() + osg::Vec3( 0,0,1) );
}
if (evt->getKeySymbol() == osgGA::GUIEventAdapter::KEY_Down){
file0->getPat()->setPosition( file0->getPat()->getPosition() + osg::Vec3( 0,0,-1) );
}
//</modifiable1> fin de section
}
-
-
Moteur 3D
Bonjour,
Je suis surpris du nombre de moteur 3D (ou de projet de moteur ...).
Je ne connais pas le domaine, mais il n'existe pas de logiciel ayant suffisamment de fonctionnalités pour les usages courants ? Ou le problème est-il ailleurs ?
Ce n'est pas un troll hein, juste une question
-
[^]Re: Moteur 3D
Posté par ThesmallgamerS () le 21/11/2006 à 18:35. (lien). Évalué à 4.La raison courte est : Faire un moteur 3d, c'est cool.
La réponse longue est plus complexe. Le libre regorge de bon moteur 3d, que ce soit http://www.ogre3d.org/ ou http://www.crystalspace3d.org/tikiwiki/tiki-view_articles.ph(...) . Ces deux là sont matures.
Si des gens continue a créer des moteurs 3d, c'est parce que c'est un formidable entraînement pour la gestion des coordonnées de l'espace, le rendering, la gestion de la mémoire, des textures... Et puis on en voit tout de suite la fin : Si le cube s'affiche, on peut crier victoire ;-)
-
[^]Re: Moteur 3D




Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.