IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Projets Discussion :

Projet 2D,3D Public Domain (bibliothèque, base de connaissances)


Sujet :

Projets

  1. #1
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut Projet 2D,3D Public Domain (bibliothèque, base de connaissances)
    Bonsoir,

    Voici un projet que je développe depuis septembre 2012. ce n'est pas un moteur de rendue, ni un jeu, c'est une librairie complète pour tout usage.

    Site : http://unlicense.developpez.com/
    Code : https://bitbucket.org/Eclesia/unlicense
    Galerie : http://unlicense.developpez.com/gallery.html

    Ce qui en fait sa particularité, elle est entièrement dans le domaine public. Pas de licence, pas de contrainte, copier/coller ce que vous voulez. c'est un recueil tout azimut.

    La raison de se projet est la suivante : l'environnement java évolue et il existe désormais plusieurs plateformes qui supporte la syntaxe java : JVM, JME, Android, GCJ, Parrot ...etc... Mais malgré ce succès, il n'existe aucune API commune à tous ces environnements, en particulier pour l'imagerie et le rendu 2d et 3d, chacun le fait a sa sauce et avec ses propres API sous copyright.

    Le projet prend tout en sens, car il a pour but de n'utiliser aucune des apis de la JVM (que oracle défend jalousement a coup de procès).

    Que peut faire cette librairie aujourd’hui ?



    Ce que j'attends de vous ?

    Des contributeurs ça serait bien mais je ne rêve pas .Par contre tout le monde a dans ses tiroirs des bouts de code non utilisés, des petits rien parfois gros, un parser de Collada, une implémentation incomplète de regex, des shaders opengl, quelque classes pour manipuler du json, des algos d’encryptions, SHA1, MD5 ... etc ...

    Bref je joue la Croix Rouge des Développeurs, je récupère vos bouts de codes usagés qui peuvent encore servir et je mets tout ça en ordre dans la librairie.

    Vous pouvez donner ce que vous voulez, (tant que ça sert a quelque chose), en n'importe quel langage (avec une préférence pour le Java ou C#).
    N'oubliez pas que c'est du domaine public, donc que vous renoncez a vos droits sur ce que vous donnerez.

  2. #2
    Membre actif Avatar de NevilClavain
    Homme Profil pro
    Ingé logiciel
    Inscrit en
    Septembre 2009
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingé logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 68
    Points : 214
    Points
    214
    Par défaut
    Je ne peux que saluer l'initiative ; Venant du monde C/C++, je ne sais pas si je peux contribuer utilement; néanmoins si je pense à quelque chose d'utile que j'ai fait et qui pourrais servir je ne manquerais pas de revenir vers ce thread (je vais faire un peu d'archéologie dans mes archives )

  3. #3
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Update , ajout de :

    - Format Image NetCDF (read)
    - Reader TTF (draft)
    - Reader ZIP (draft)
    - Quaternion

  4. #4
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Update, ajout de :

    - Character Encoding (Char,CharSequence,CharEncoding)
    - Geometry 2D (Point,Line,Circle,Ellipse,Polyline,Polygone,Rectangle,RoundRectangle,Path)
    - In/Out Char Stream
    - XMLInputStream
    - DOM API (draft)
    - DOMReader

  5. #5
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 778
    Points
    5 778
    Par défaut
    Juste une question pratique, comment ne pas utiliser certaines classes standards qui sont fortement liées à la plateforme ? Je pense notamment aux exceptions.

    Par exemple le code Java suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Object[] array = {};
    array[5] = "bazinga!";
    Lève une java.lang.ArrayIndexOutOfBoundsException. Or cette exception fait bien parti de l'API standard et il est difficile de l'ignorer.
    Plus généralement, le try {} catch() {} lui même est basé sur la class java.lang.Throwable.

    Je pense également au à la boucle foreach qui utilise l'interface java.lang.Iterable<T>.

    Je ne sais pas trop pour les autres plateformes, il me semble que certaines utilisent les même classes, d'autres on sûrement les leurs (et dans ce cas là comment écrire une API commune ?).

    Donc je comprends, et trouve interessante, l'idée de fournir une API de base libre de droits, mais il me paraît difficile de s'abstraire complétement de l'API standard (ou plutôt des APIs de base de chaque plateforme).

  6. #6
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Citation Envoyé par le y@m's Voir le message
    Juste une question pratique, comment ne pas utiliser certaines classes standards qui sont fortement liées à la plateforme ? Je pense notamment aux exceptions.

    Par exemple le code Java suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Object[] array = {};
    array[5] = "bazinga!";
    Lève une java.lang.ArrayIndexOutOfBoundsException. Or cette exception fait bien parti de l'API standard et il est difficile de l'ignorer.
    Plus généralement, le try {} catch() {} lui même est basé sur la class java.lang.Throwable.

    Je pense également au à la boucle foreach qui utilise l'interface java.lang.Iterable<T>.

    Je ne sais pas trop pour les autres plateformes, il me semble que certaines utilisent les même classes, d'autres on sûrement les leurs (et dans ce cas là comment écrire une API commune ?).

    Donc je comprends, et trouve interessante, l'idée de fournir une API de base libre de droits, mais il me paraît difficile de s'abstraire complétement de l'API standard (ou plutôt des APIs de base de chaque plateforme).
    C'est tout a fait juste et j'en suis conscient.
    Je n'ai pas de solution pour le moment au sujet du try-catch.

    Par contre un certain nombre de chose sont deja exclu :
    - foreach
    - switch
    - annotation
    - generic
    Une interface 'System' encore presque vide va aussi a terme permettre d'isoler tout les elements de reflexion : .class, instanceof, ...

    Je ne le mentionne pas ici car ce n'est pas tres avancé (et je me surestime surement) mais j'ai deja fait un peu de travail sur une mini machine virtuelle elle aussi en public domain. Elle n'interprete pas le java non non loin de la. mais un petit language que j'appelle 'BootBasic'.
    Ca s'inspire de ce projet la : http://rano.org/bcompiler.html BCompiler

    Le Big Plan serait :
    1) VM en ASM qui ne connait que le strict minimum d'opcode.
    2) un portage en bootbasic de cette librairie
    3) une sorte de base de fichiers xml decrivant les differentes instruction set /opcode
    4) en combinant 1,2,3 on doit etre en mesure faire en sorte que la vm se 'recompile' de maniere plus efficace.
    5) ajout du support pour un language java-like

    On me dit depuis le debut que je suis fou , mais de moins en moins maintenant que j'ai des choses a montrer. de plus ca ne fait encore que ~5 mois que le projet a commencé.

    Il y a mine de rien assez d'illuminés (ou de personne qui en ont marre des problemes de licenses) a avoir ecrit par si par la des petits bouts de codes (et ayant précisé qu'ils le vouaient au public domain). j'arrive a trouver de tout.

    Parfois du code assez incroyable, par exemple :
    - http://burtleburtle.net/bob/hash/doobs.html
    - http://tukaani.org/xz/java.html
    - http://nothings.org
    - http://www.cryptopp.com

    Je ne doute pas qu'un jour il y est un environnement complet en public domain. la question c'est Quant et Qui . Et je vais faire en sorte que ca soit maintenant et avec moi .

  7. #7
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 778
    Points
    5 778
    Par défaut
    C'est vraiment dommage de perdre ainsi des fonctionnalités du langage.
    D'ailleurs en quoi le switch et les generics posent problème au niveau licence ? (désolé si ma question est naïve).

    Je viens également de penser à la ClassCastException
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Object o = 1; // Integer
    String s = (String) o; // => ClassCastException
    Donc plus qu'une librairie ce projet c'est carrément une plateforme à part entière.
    Du coup il sera peut être possible de ré-implémenter les différentes fonctionnalités de langage évoquées précédemment...

    En tout cas c'est du boulot, bon courage à toi

  8. #8
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Citation Envoyé par le y@m's Voir le message
    C'est vraiment dommage de perdre ainsi des fonctionnalités du langage.
    D'ailleurs en quoi le switch et les generics posent problème au niveau licence ? (désolé si ma question est naïve).
    niveau license il n'y en a pas, a mon avis. c'est plus par soucis de simplicité.

    Citation Envoyé par le y@m's Voir le message
    Donc plus qu'une librairie ce projet c'est carrément une plateforme à part entière.
    Du coup il sera peut être possible de ré-implémenter les différentes fonctionnalités de langage évoquées précédemment...
    On y est pas encore, je vise deja assez haut, n'en rajoutons pas

    Citation Envoyé par le y@m's Voir le message
    En tout cas c'est du boulot, bon courage à toi
    A propos, je vois pas un bout de machin qui depasse de tes tirroirs la ? ...

  9. #9
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 778
    Points
    5 778
    Par défaut
    Citation Envoyé par eclesia Voir le message
    On y est pas encore, je vise deja assez haut, n'en rajoutons pas
    Oui, c'était plus une reflexion à haute voix ^^

    Citation Envoyé par eclesia Voir le message
    niveau license il n'y en a pas, a mon avis. c'est plus par soucis de simplicité.

    ...

    A propos, je vois pas un bout de machin qui depasse de tes tirroirs la ? ...
    Si si, c'est justement en partie la source de mes interrogations. J'ai bien des trucs qui traînent mais il faut que je passe du temps à faire le ménage pour lever ce qui ne va pas selon les critères que tu as cités (notamment les génériques et les exceptions) .

  10. #10
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Citation Envoyé par le y@m's Voir le message
    J'ai bien des trucs qui traînent mais il faut que je passe du temps à faire le ménage pour lever ce qui ne va pas selon les critères que tu as cités (notamment les génériques et les exceptions) .
    je depoussiere et racommode, il ne faut pas s'en faire pour ca.

  11. #11
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 778
    Points
    5 778
    Par défaut
    Citation Envoyé par eclesia Voir le message
    je depoussiere et racommode, il ne faut pas s'en faire pour ca.
    Ok ^^ , je devrais pouvoir te faire passer ça dans la semaine. Tu n'as qu'à me mp un email sur lequel je pourrai t'envoyer ça .

  12. #12
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Citation Envoyé par le y@m's Voir le message
    Ok ^^ , je devrais pouvoir te faire passer ça dans la semaine. Tu n'as qu'à me mp un email sur lequel je pourrai t'envoyer ça .
    Merci pour la contribution

    Par contre j'ai un peu de mal a comprendre l'utilité des methodes :
    fold left/right et reduce sur les collections.

    ca me semble tres specifique a certain cas d'utilisation, tu pourrais m'expliquer l'interet ?

  13. #13
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Update, ajout de :

    - Character Encoding (UTF-32, ISO 8859-1 a 16)
    - Predicate API et amelioration de l'API Collection (contribution de 'le y@m's')
    - Graph API
    - WAV Reader

  14. #14
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Update, ajout de :

    - Character Encoding (UTF-8, UTF-16BE, UTF-16LE)
    - BNF Grammar Reader (Backus Naur Form)
    - WKB Reader, incomplet (OGC / ISO 13249-3)
    - Parameter API
    - BootBasic Parser

  15. #15
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    L'ensemble de la stack commence a tourner rond
    et le rasterizer donne ses premiers resultats !
    En esperant que ca attirera du monde.

    en image :



    c'est le fameux 'awesome tiger' (du svg, avec courbe et tous)

    pour en arriver la :
    > DataInputStream
    > CharInputStream
    > XMLInputStream
    > DomNode
    > Geometry2D
    > Path, Curve decimation
    > Rasterizer
    > export image brute opengl
    > rendue sur une scene 3D (bon certes c'est JOGL qui n'est pas public domain pour le moment)
    Images attachées Images attachées  

  16. #16
    Membre expert

    Avatar de germinolegrand
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2010
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2010
    Messages : 738
    Points : 3 892
    Points
    3 892
    Par défaut
    Commentaire pas constructif du tout :
    nice !

  17. #17
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Aller une autre :
    cette fois c'est un fichier 3D format PMD (classique Miku)

    (cliquer sur l'image pour une plus grande taille)
    Images attachées Images attachées  

  18. #18
    Membre expert
    Avatar de Dabou Master
    Homme Profil pro
    Graphiste 3D auto-didacte
    Inscrit en
    Février 2012
    Messages
    1 018
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Graphiste 3D auto-didacte

    Informations forums :
    Inscription : Février 2012
    Messages : 1 018
    Points : 3 569
    Points
    3 569
    Par défaut
    Hum, c'est de la 3D 100% mate qui du coup a l'air de n'avoir aucun relief ?
    Bah oui moi j'y comprends franchement rien alors je regarde les images, comme les pitits nenfants. Pas taper .

  19. #19
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 902
    Points : 220 064
    Points
    220 064
    Billets dans le blog
    126
    Par défaut
    Il manque une gestion (même un simple Blinn-Phong) pour l'éclairage et direct, cela donnera mieux. Après, on peut aussi penser au normal map (bump mapping), pour faire encore mieux J'imagine que cela viendra bientot

  20. #20
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Il manque une gestion (même un simple Blinn-Phong) pour l'éclairage et direct, cela donnera mieux. Après, on peut aussi penser au normal map (bump mapping), pour faire encore mieux J'imagine que cela viendra bientot
    Ca ne sera pas pour tout de suite ... en tout cas pas sans aide.
    J'avous avoir encore du mal avec les shaders, meme si j'aimerai bien avoir les lumieres, le bumpmapping et quelques effets genre bloom , histoire d'avoir un petit moteur 3d honorable.

    si certains d'entre vous sont capables d'ecrire ses shaders en peu de temps la ou il me faudrait quelques semaines, vous aurez toute ma gratitude et d'avoir votre nom sur la liste des altruistes du projet.

    Je sais que tu en es capable LittleWhite

Discussions similaires

  1. que signifie "public domain" pour une bibliothèque
    Par ikuzar dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 18/12/2012, 20h43
  2. Tester des DOMAINS sur Base INTERBASE 6.0
    Par Thierry Laborde dans le forum InterBase
    Réponses: 3
    Dernier message: 28/09/2005, 13h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo