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. #161
    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
    Beaucoup de choses :

    - Victoire ! Après de longs mois de rédaction et un entretien, j'ai obtenu ma VAE, je suis donc diplômé d'un Master 2 en Géomatique (même si je n'ai pas encore le papier).

    - Le format de document binaire est presque fini, et une vraie spécification pour le détailler :
    http://unlicense.developpez.com/spec...ons/index.html
    J'ai taché de voir très large afin de le réutiliser pour n'importe quel besoin : imagerie, video, sécurité, compression, code compilé, gros volume, redondance/reference cyclique, liens ...
    Il ne reste que le cas de l'héritage, mais ca devrait assez simplement s'y ajouter.

    - Après divers échanges, j'abdique, les sources vont passer sur GIT au lieu de Mercurial actuellement.
    Ca ne veut pas dire que je préfère GIT, juste que des personnes n'ont pas envis d'apprendre un autre DCVS pour contribuer.

    - Et une nouvelle page d'index du site :
    http://unlicense.developpez.com
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  2. #162
    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
    Après les vacances, il faut bien bosser un peu quand même :

    - VirtualPath : implémentation de Path virtuel, ce qui permet de créer des systèmes de fichiers en mémoire
    - Exception : remplacement de nombreuse RuntimeException par des exceptions spécifique en fonction des erreurs
    - Widget : moteur de rendue au dessus de Swing/Graphics2D afin de pouvoir les utiliser dans les applications déjà existantes
    - Document : amélioration des classes de modèle document, pour supporter l'héritage
    - Fuse : draft d'API pour monter des systèmes de fichiers avec FUSE
    - DXT5 : amélioration des performances de lecture
    - BMP : amélioration des performances de lecture

    et 3 nouveaux formats :
    - DBN : reader et writer du format Document as Binary
    - HJSON : reader de Human JSON (exellent format pour les fichiers de configs, mille fois moins barbare que yaml)
    - GCode : reader GCode (le format utiliser par les imprimantes 3d et nombre d'automates)


    Remerciement à Doug Lea qui est l'auteur et le papa du package java.util.concurrent de la JDK 1.5
    En réalité tout le package until.concurrent vient de cette personne dont le projet d'origine est public domain
    http://gee.cs.oswego.edu/dl/classes/...ent/intro.html
    Se sont donc pas moins de 80 classes, Mutex,Semaphore,Barrier,Task,SynchronizedNumber...etc... qui viennent enrichir le projet!
    Tous pour bien gérer la concurrence et les locks


    re-PS (pour littlewhite) : ce n'est pas possible d'avoir [Projet en cours] et [Recrutement] à la fois ?
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  3. #163
    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
    Bonsoir,

    Ca avance encore et toujours :
    - IO : Remplacement des BufferedIn/OutputStream Java par une mes propres implémentations
    - IO : Décodage des nombres sous forme LEB128
    - Widgets : la configuration des styles se fait en HJSON à la place du format custom précédent
    - JSON/HJSON : toutes les méthodes utilitaires du JSON marchent avec HJSON aussi.
    - HTTP : draft de support des messages form/multi-part
    - Math : Ajout d'une ViewTransform2D, outil utilisé pour la navigation dynamique à la souris sur les cartes et images, zoom, rotation, translation,...
    - Geospatiale : formule sphérique de transformation de coordonées mercator

    Les nouveaux formats :
    - CSV : Décodeur Comma-Separated Value
    - INI : Décodeur de fichier d'Initialisation
    - GeoJSON : Décodeur du format de geometrie 2D géospatiale GeoJSON
    - WASM : Décodeur du format binaire WebAssembly qui vient tout juste de sortir du four, prem's !

    Concernant le format DBN :
    - Ajout des documents 'Inline' afin de réduire la taille pour les petits type de documents
    - Support des types primitifs avec nombre de bits variable

    Er remerciement encore une fois à Samuel Andres pour :
    - Geospatiale : formule sphérique de transformation de coordonées orthographique
    - Geospatiale : formule sphérique de transformation de coordonées gnomonique
    - Geospatiale : formule sphérique de transformation de coordonées stereographique
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  4. #164
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    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 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    re-PS (pour littlewhite) : ce n'est pas possible d'avoir [Projet en cours] et [Recrutement] à la fois ?
    Non, ce n'est pas possible. Mais un projet qui fait du recrutement n'invalide pas le fait qu'il soit en cours. Du coup, en lisant le premier message (ou le dernier), le lecteur saura qu'il est bien cours.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #165
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 045
    Points : 11 368
    Points
    11 368
    Billets dans le blog
    10
    Par défaut
    Encore une fois, chapeau pour le boulot monstre que tu effectues sur ce projet!
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  6. #166
    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
    Cette fois on augmente le professionnalisme avec :

    Un site web dédié avec un vrai nom de domaine qui correspond : http://unlicense.science

    Au menu :
    - IO : Encodage des nombres sous forme LEB128
    - WASM : Encodeur web assembly
    - 2D : debut d'un nouveau moteur de rendue 'software', donc sans gpu
    - 2D : amélioration de la compatibilité du backend basé sur Java2D
    - Math : nouvelles classes optimisées Affine2, Affine3, Affine4
    - Widget : nouveau layout, TableLayout, mix entre GridLayout et FormLayout, concu pour les grilles avec lignes/colonnes de tailles variables
    - Widget : re-amélioration de performance et de qualité du rendue

    Et aussi, au vue de la perte de vitesse du projet JOGAMP, il a fallu faire un choix drastique :
    - OpenGL : nouvelle api indépendante basé sur les specs OpenGL et le registry XML de KhronosGroup
    - OpenGL : un backend sur JOGAMP
    - OpenGL : un backend sur LWJGL
    C'est donc une couche d'abstraction qui permettra d'utiliser au choix JOGL ou LWJGL.


    En dessert, de quoi oublier les soucis avec l'amélioration des thèmes par défaut :
    Nom : light.png
Affichages : 900
Taille : 192,7 Ko
    Nom : dark.png
Affichages : 858
Taille : 188,7 Ko
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  7. #167
    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
    Pas énormement de code ce mois ci mais du travail quand même :
    - Exception : un ensemble de nouvelles exceptions afin de remplacer celle du java standard
    - Date : parseur de date au format ISO-8601
    - Char : suppression de tous les usages du type primitif obsolete 'char'
    - Arrays : remplacement de beaucoup d'usages de la classe java Arrays par notre propre implémentation


    Et surtout un travail d'adaptation pour le support d'Android, normalement à partir de la version 4.0 cela devrait marcher.
    Nom : Android_UnWidget.png
Affichages : 722
Taille : 194,0 Ko

    Je suis encore débutant avec android, mais voila comment on afficher les widgets sous android :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    public class MainActivity extends Activity {
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
     
            final ADWidgetView view = new ADWidgetView(this);
            view.getContainer().setLayout(new BorderLayout());
     
            final WButton button = new WButton(new Chars("Hello World !"));
            view.getContainer().addChild(button, BorderConstraint.CENTER);
     
            setContentView(view);
        }

    Et aussi un début de travail fait pour rendre Unlicense-lib compatible avec JSweet afin de pouvoir bénéficier de la librairie et des widgets en Web !
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  8. #168
    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 un petit update.

    Au menu :
    - OGG : correction du decoder de packet OGG stream
    - Theora : gros chantier terminé sur le decodeur video Theora, en tout cas toutes les fonctions de la spec sont la mais ca bug encore :/, la chasse est ouverte.
    - Huffman : amélioration de l'API des arbres de décompression Huffman, plus simple a utiliser.
    - Java : suppression/remplacement d'un grand nombre de classe basique (Math,StringBuilder,...) du java standard pour encore plus d'indépendance
    - Jsweet : implémentation d'un Painter2D par dessus l'api des Canvas HTML
    - Maven : renommage de tous les groupId/artifactId en prévision d'un futur déploiement sur maven central
    - FTP : début d'implémentation du protocol
    - HTTP : une première implémentation client/serveur, avec divers classes utilitaires HTTPRequest/HTTPResponse,... en vue de remplacer nginx
    - SSL/TLS : quelques classes basique en prévision
    - BER/X.509 : draft de décodeur DER/BER pour les certificates de sécurité
    - Imagerie : implémentation de l'opérateur de contour, utiliser pour convertir du raster en vecteur
    - Fuse : correction de l'implémentation Fuse, permet de monter des dossiers virtuels sous linux


    Sinon j'ai aussi attaqué le travail sur deux outils indispensables pour les devs :
    - un framework de test unitaire afin de remplacer JUnit
    - un outil de build afin de remplacer maven
    Avec l'outil de génération de documentation déjà existant, cela fera un pack d'outils minimaliste mais auto-suffisant
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  9. #169
    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
    Et encore, et encore :
    - Widget : le widget qui a le focus a maintenant un petit halo et le curseur n'est présent que sur les champs texte ayant le focus
    - Widget : le WSpinner vérifi les valeurs désormais et leve une exception en cas de valeur non conforme avec le modèle
    - Widget : support des styles avec des images raster (bmp,png,jpeg,...)
    - Widget : support du parametre Z-order pour les objets graphiques dans les styles
    - API Screen : début d'API pour gérer les écrans et en particulier les informations comme le DPI
    - Swing : amélioration du rendu des widgets avec le back-end Java2D
    - Geometrie : implémentation des algos d'intersections entre plane/rayon/triangle/segment
    - Theora : beaucoup de debuggage et correction, le décodeur video approche du but
    - XZ : remplacement de toutes les classes du java standard par celle de la librairie
    - Checksum : correction du checksum CRC64, deux variantes : ISO et ECMA

    Et des composants un peu plus gros commencent à voir le jour avec :
    - WImageViewer : l'objectif est d'obtenir un genre de EyeOfGnome, bref un visioneur d'images
    - WMediaViewer : l'objectif est d'obtenir un genre de MediaPlayer/VLC


    L'outil de build a bien progressé lui aussi avec :
    - Support de la compilation java
    - Support de la creation de jar
    - Support de l'éxécution des tests unitaires
    - Résolution des dépendances transitives
    - Configuration à base de fichier HJson
    - et une sortie console pas trop moche

    Exemple de fichier de config :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    {
        parameters : {
            repositories : ["file:/home/eclesia/.ubt/","http://repo1.maven.org/maven2/"]
            groupId : "science.unlicense.library"
            version : DEV-SNAPSHOT
            type : ".jar"
            targetBasePath : ./target/
        },
     
        defaults : {
            codeModule : {
                clean : {
                    plugin : "science.unlicense.p.build.CleanPlugin"
                    execute : execute
                    condition : clean
                },
     
                compile : {
                    plugin : "science.unlicense.p.build.CompilePlugin"
                    execute : execute
                    condition : build
                    parameters : {
                        sourcePath : ./src/main/java/
                        resourcePath : ./src/main/resources/
                        targetPath : ./classes/
                    }
                },
     
                jar : {
                    plugin : "science.unlicense.p.build.JarPlugin"
                    execute : execute
                    condition : build
                    parameters : {
                        contentPath : ./classes/
                    }
                },
     
                test : {
                    plugin : "science.unlicense.p.build.TestPlugin"
                    execute : execute
                    condition : build
                    parameters : {
                        testPath : ./src/test/java/
                    }
                },
     
                deploy : {
                    plugin : "science.unlicense.p.build.DeployPlugin"
                    execute : execute
                    condition : build
                    parameters : {
                        repositoryPath : "file:/home/eclesia/.ubt/"
                    }
                }
            },
     
            groupModule : {
                children : {
                    plugin : "science.unlicense.p.build.BuildChildrenPlugin"
                    execute : execute
                    condition : ["clean","build"]
                }
            }
     
        },
     
        build : {
            $ref : "#defaults/groupModule"
     
            children : {
                parameters : {
                    children : ["api/ubuild.hjson"]
                }
            }
        }
     
    }
    Et la sortie console : (désolé, la balise code ne veut pas des caractères unicodes)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/ubuild.hjson
      〇 Running : BuildChildrenPlugin.execute
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/ubuild.hjson
      〇 Running : BuildChildrenPlugin.execute
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-common/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Note: Some input files use unchecked or unsafe operations.
        Note: Recompile with -Xlint:unchecked for details.
        Executed in 2,922s
      〇 Running : JarPlugin.execute
        Executed in 0,255s
      〇 Running : DeployPlugin.execute
        Executed in 0,016s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-math/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Executed in 1,92s
      〇 Running : JarPlugin.execute
        Executed in 0,109s
      〇 Running : DeployPlugin.execute
        Executed in 0,002s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-encoding/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Executed in 1,783s
      〇 Running : JarPlugin.execute
        Executed in 0,138s
      〇 Running : DeployPlugin.execute
        Executed in 0,001s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-concurrent/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Note: Some input files use unchecked or unsafe operations.
        Note: Recompile with -Xlint:unchecked for details.
        Executed in 1,693s
      〇 Running : JarPlugin.execute
        Executed in 0,171s
      〇 Running : DeployPlugin.execute
        Executed in 0,002s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-system/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Executed in 0,805s
      〇 Running : JarPlugin.execute
        Executed in 0,128s
      〇 Running : DeployPlugin.execute
        Executed in 0,01s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-task/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Executed in 0,696s
      〇 Running : JarPlugin.execute
        Executed in 0,098s
      〇 Running : DeployPlugin.execute
        Executed in 0,002s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/system-jvm/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Executed in 0,992s
      〇 Running : JarPlugin.execute
        Executed in 0,103s
      〇 Running : DeployPlugin.execute
        Executed in 0,008s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-geometry/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Executed in 2,576s
      〇 Running : JarPlugin.execute
        Executed in 0,147s
      〇 Running : DeployPlugin.execute
        Executed in 0,002s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-image/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Executed in 2,133s
      〇 Running : JarPlugin.execute
        Executed in 0,112s
      〇 Running : DeployPlugin.execute
        Executed in 0,001s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-display/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Executed in 1,43s
      〇 Running : JarPlugin.execute
        Executed in 0,143s
      〇 Running : DeployPlugin.execute
        Executed in 0,001s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-physics/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Executed in 1,379s
      〇 Running : JarPlugin.execute
        Executed in 0,119s
      〇 Running : DeployPlugin.execute
        Executed in 0,008s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-biology/ubuild.hjson
      〇 Running : CompilePlugin.execute
    Nothing to compile.
        Executed in 0,009s
      〇 Running : JarPlugin.execute
        Executed in 0,11s
      〇 Running : DeployPlugin.execute
        Executed in 0,001s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-various/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Executed in 0,563s
      〇 Running : JarPlugin.execute
        Executed in 0,116s
      〇 Running : DeployPlugin.execute
        Executed in 0,001s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-media/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Executed in 0,821s
      〇 Running : JarPlugin.execute
        Executed in 0,102s
      〇 Running : DeployPlugin.execute
        Executed in 0,002s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-linguistics/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Executed in 0,761s
      〇 Running : JarPlugin.execute
        Executed in 0,118s
      〇 Running : DeployPlugin.execute
        Executed in 0,01s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-time/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Executed in 1,141s
      〇 Running : JarPlugin.execute
        Executed in 0,12s
      〇 Running : DeployPlugin.execute
        Executed in 0,002s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-model3d/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Executed in 0,798s
      〇 Running : JarPlugin.execute
        Executed in 0,111s
      〇 Running : DeployPlugin.execute
        Executed in 0,001s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-device/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Executed in 0,698s
      〇 Running : JarPlugin.execute
        Executed in 0,105s
      〇 Running : DeployPlugin.execute
        Executed in 0,001s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-syntax/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Executed in 1,093s
      〇 Running : JarPlugin.execute
        Executed in 0,078s
      〇 Running : DeployPlugin.execute
        Executed in 0,001s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-archive/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Executed in 0,799s
      〇 Running : JarPlugin.execute
        Executed in 0,106s
      〇 Running : DeployPlugin.execute
        Executed in 0,001s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-filesystem/ubuild.hjson
      〇 Running : CompilePlugin.execute
    Nothing to compile.
        Executed in 0,001s
      〇 Running : JarPlugin.execute
        Executed in 0,11s
      〇 Running : DeployPlugin.execute
        Executed in 0,001s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-code/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Executed in 0,874s
      〇 Running : JarPlugin.execute
        Executed in 0,127s
      〇 Running : DeployPlugin.execute
        Executed in 0s
     
    ⬤ Script : file:/home/eclesia/dev/un-lib/api/api-geospatial/ubuild.hjson
      〇 Running : CompilePlugin.execute
        Executed in 0,709s
      〇 Running : JarPlugin.execute
        Executed in 0,082s
      〇 Running : DeployPlugin.execute
        Executed in 0,001s
     
    《 BUILD SUCCESS 》

    Le site web aussi a eu droit à un coup de balais :
    Il n'utilise plus de nginx désormais, le serveur web c'est celui de la librairie

    Nom : siteNouveau.jpeg
Affichages : 627
Taille : 82,1 Ko

    Bref plein de choses qui se débloquent, ca fait plaisir.
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  10. #170
    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
    Un petit up, je travail toujours dessus :
    - CQL : draft de parser
    - Functional : amelioration de l'API fonctionnelle
    - Widget : support des unités ecrans comme em et mm
    - Java9 : reorganization des packages pour le support de java 9
    - Widget : nouveau layout WeightLayout, donnant de l'espace en fonction du poid des widgets
    - LZ4 : support de la décompression LZ4
    - SPIR-V : beaucoup de corrections, ajout de tous les OpType SPIR-V 1.3
    - Code : nettoyage du code, ajout de vérification CheckStyle

    Concernant l'outil de build :
    - ajout du plugin de génération de doc
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  11. #171
    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
    Alors quoi de neuf :
    - DBF : debut de decodeur Database File IV
    - PBF : debut de decodeur Google ProtoBuffer
    - SPIR-V : divers correctif pour l'ecriture de fichier
    - Geometrie : séparation claire entre les classes de géométries et les opérations (buffer,intersect,area,...etc...)
    - OpenGL : les modèles OpenGL implementent les interfaces de Geometrie

    Et le plus gros du travail : un générateur de fragment, une sorte de mini moteur 3D sur CPU
    En gros il manque le support des lumières basique est on obtient l'equivalent de OpenGL 1.0 mais pas besoin de carte graphique.
    Ce qui ouvre la voie pour faire des animations de widget un peu plus sympa, pour les effets ou les loaders ainsi que des graphs en 3D.

    Et bien sur c'est compatible avec tous les lecteurs de formats 3D deja présent, par exemple ici un modèle Quake III avec un squelette pour l'animation :
    Nom : 3d_cpu.png
Affichages : 507
Taille : 328,8 Ko
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  12. #172
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 045
    Points : 11 368
    Points
    11 368
    Billets dans le blog
    10
    Par défaut
    Intéressant ça, le software renderer !
    Tu as pu faire des tests de performances ?
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  13. #173
    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 dragonjoker59 Voir le message
    Intéressant ça, le software renderer !
    Tu as pu faire des tests de performances ?
    Comme pour le GPU ca depend de pas mal de parametres, nombre de vertex, taille des triangles, nombre de textures etc...

    Pour donner un ordre de grandeur, pour l'animation ci-dessus le rendu est fluide (dans les 30fps je dirais) dans une image de 1000x1000 pixels pour mon CPU (AMD Ryzen 7 1700 @ 3Ghz)
    Le tout marche sur un seul thread pour le moment.

    Il y a beaucoup de marge pour faire de l'optimisation, rien que sur les calculs de matrices ou le multi-threading. je pense qu'on pourrait diviser par 10 ou plus le temps de rendu.
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  14. #174
    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
    J'ai fini d'implémenter les lumières de base toujours en software: ambient, point et directional.
    Ainsi que de grossssses amélioration de perf,
    ... mais c'est de nouveau insuffisant maintenant qu'il y a les lumieres a calculer...

    Bref le résultat :
    Nom : software_light.png
Affichages : 408
Taille : 153,9 Ko

    Il va falloir que je fasse FXAA en software aussi, histoire d'avoir une bonne qualité.
    que de travail a faire ... help!
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  15. #175
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Ouch

    Par info un triangle non texturé en software et un peu optimisé me faisait 3000-4000 cycles (un triangle de la taille de 32 pixel soit 512 pixel a remplir) et je l'avais fait en C
    Donc avec tout les effets j'imagine pas et tout dépend de l'optimisation que t'a faite (tu m'avais montré le code de ton getBarycentricValue2D) c'est effectivement super long , j'avais justement eu du mal a le coder parce que je voulais une version optimisé (qui prend juste 2 fois plus de calcul que la version non texturé).

  16. #176
    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
    100% d'accord c'est vraiment couteux a faire.

    Dans les faits :
    - appliquer les transformations du squelette
    - transformer vers l'espace camera et projeter
    - générer les fragments dans le triangle
    - test de profondeur
    - interpoler la position, normale et uv du fragment (le fameux barycentre)
    - combiner les différentes couleur et textures, ambient,diffuse,specular
    - combiner les couleurs avec les N lumieres
    - merger ca avec le pixel en dessous

    Pour le moment je n'interpole pas les textures, mais ca coute deja beaucoup d'aller chercher le pixel, alors quand il va falloir faire du bilineaire ou du bicubic ca va faire mal .

    Mais j'ai encore de la marge, je suis toujours en mono thread et en double precision, donc je peux encore booster ca.
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  17. #177
    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
    Ca fait un petit moment que je n'ai pas fait de mise a jour ici, alors voila :

    - IQM : début de décodeur de modele 3D InterQuakeModel
    - MVD : draft de décodeur MotionVectorData
    - CSV : gros gain de performance en temps de décodage, x20 plus rapide
    - Lumière : l'api des lumière est maintenant indépendante du moteur opengl
    - Widget : ajout d'un widget pour le rendu de scene 3D (en cpu)
    - Widget : début des widgets de Graph avec un WLineChart et WBarChart3D
    - Image : gros refactoring de l'API de gestion des espaces de couleurs, qui supportent maintenant n'importe quelle precision ou nombre de composant.
    - Image : support des espace de function, autrement dit une 'zone' géométrique dont les valeurs à une coordonnées x/y/z/... peut etre définie par une fonction
    - Image : amélioration du support des interpolation de base
    - Géométrie : début de support des géométries indexées (que l'on trouve dans opengl avec vbo/ibo, triangle strip, triangle fan,etc...)
    - 3D : draft d'un moteur de rendue CPU en lancée de rayon


    Remerciement une fois encore a M.Samuel Andres pour une nouvelle contribution :
    - SHP : décodeur et encodeur de fichier Shapefile


    Et j'ai aussi attaqué une implémentation de décodeur AV1, le tout nouveau codec video, en espérant que la spec sera meilleur que VP9,
    si ca intéresse quelqu'un d'autre de bosser dessus il y a de quoi faire, presque 700pages de spec avec plein de pseudo-code a convertir en java.
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  18. #178
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 045
    Points : 11 368
    Points
    11 368
    Billets dans le blog
    10
    Par défaut
    Oooh, ShapeFile ! Ca doit faire 15 ans que j'ai pas entendu ce nom !
    J'avais fait du ShapeFile to SVG en stage d'IUP
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  19. #179
    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
    C'est vrai que c'est plutot 'vieux', mais cest toujours utilisé.

    Si tu regarde MP3 ca date de 1993 et c'est toujours présent.
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  20. #180
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    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 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Le contre exemple existe. Des formats vieux (et même d'autres plus jeunes) qui ne sont plus utilisés.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

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