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. #81
    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 voici encore un peu :
    - OpenGL : amelioration du Depth Of Field
    - OpenGL : amelioration des API de phase de rendue
    - OpenGL : reduction de l'utilisation memoire pour les VBO/Texture (dechargement de la memoire system une fois la donnée sur le gpu)
    - OBJ/MTL : multiple correction et amelioration
    - TIFF : support des images 4 bandes
    - JPEG : support des marker de redemarrage
    - Geometry : operateur distance , point/rectangle, point/bbox, point/obbox
    - Geometry : operateur points les plus proches , point/rectangle, point/bbox, point/obbox
    - Widget : support de la traduction intégré


    une petite scene d'une centaine de Mo :
    Nom : medieval2.jpeg
Affichages : 546
Taille : 474,8 Ko
    Nom : medieval3.jpeg
Affichages : 553
Taille : 214,5 Ko

  2. #82
    Expert éminent sénior

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

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 031
    Points : 11 474
    Points
    11 474
    Billets dans le blog
    11
    Par défaut
    Hey ! J'utilise la même scène dans mon moteur ! ^^
    Joli travail de titan, en tout cas !

  3. #83
    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
    Merci, il y a encore du travail si ca t'interesse.
    ou si tu as 2 ou 3 trucs a contribuer ?

  4. #84
    Expert éminent sénior

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

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 031
    Points : 11 474
    Points
    11 474
    Billets dans le blog
    11
    Par défaut
    Par rapport à ce que tu as déjà fait, je ne sais pas si j'ai grand chose à ajouter, mais tu peux toujours piocher dans les sources de mon moteur !

  5. #85
    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
    Par rapport à ce que tu as déjà fait, je ne sais pas si j'ai grand chose à ajouter, mais tu peux toujours piocher dans les sources de mon moteur !
    Je viens de faire un tour dans les sources de ton moteur, voici ce que j'ai trouvé qui n'est pas dans la bibliothèque :
    - Geometry : Icosahedron,Torus
    - Math : Rayon, quelques opération d'intersections avec d'autres géométries
    - Math : quelques méthodes utilitaire sur Quaternion
    - Loop Divider ? qu'est ce que c'est ?
    - Format ASE
    - Format LWO
    - Format MD3
    - Format SMax : quelques trucs que je n'ai pas

    Cela ferait déjà pas mal de chose intéressante . vu que c'est en C++ et que les api sont complètement différente je devrais réécrire/transformer une grosse partie.

    Par contre ton projet est en LGPL et la bibliothèque est dans le domaine public, donc je ne peux pas copier/convertir a moins que tu n'ajoutes explicitement une autorisation.
    Si tu es d'accord, pourrais tu :
    - faire un clone de https://bitbucket.org/Eclesia/unlicense
    - ajouter un fichier : Date-Nom-Prenom.txt dans le dossier contribution (il y a déjà d'autres fichiers du même genre)
    et mettre quelques lignes (français ou anglais) expliquant que tu autorise a transposer en Java et mettre dans le domaine public du code venant de ton projet.
    - et faire un pull request

    Je sais que c'est un peu lourd, mais ca me permet d'avoir une trace écrite et datée afin d'éviter tout problème légale.

    Un Grand Merci

    Bien sur tu peux déjà prendre tout ce qui te plais dans la bibliothèque.

  6. #86
    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 en voici encore :
    - USB : api et implementation JVM avec USB4Java.
    - MMD : davantage de translation japonais<>anglais
    - MD2 : plusieur corrections
    - Widget : nouveau WTabContainer
    - Widget : nouveau WScrollContainer
    - OpenGL : amelioration du rendue des widgets
    - RIFF : correction decodage du au padding des chunks
    - Audio : correction de la conversion float<>pcm


    Bertrand Cote (bertry) :
    - Arrays : Documentation et test unitaire complet
    - Vector : Documentation et test unitaire complet
    - Geometry line : operateurs area, length, bbox, bcircle, centroid
    - Geometry point : operateurs area, length, bbox, bcircle, centroid
    - Geometry ellipse : operateurs area, length, bbox, bcircle, centroid
    - Vector : convertion vers systeme de coordonnées cylindrique
    - Vector : convertion vers systeme de coordonnées spherique

    Remerciement a dragonjoker59 et son projet Castor3D, bien qu'ecrit dans un autre language cela m'a permit d'ecrire plus rapidement :
    - MD3 : decodeur
    - LWO : decodeur (draft)
    - OpenGL : Icosahedron


    MD2 et MD3 sont des formats utilisés dans Quake2 et Quake3, alors c'est normal que les modèles soient un peu vieillot .

    MD2
    Nom : 3D_format_md2_l.png
Affichages : 483
Taille : 313,7 Ko

    MD3
    Nom : 3D_format_md3_l.png
Affichages : 574
Taille : 460,4 Ko

  7. #87
    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 : FormLayout et test, pour avoir une dizaine d'années d'experience en interface Swing, le FormLayout est une creation dont je ne suis pas peu fier , je dirais que c'est une sorte de MigLayout avec plus de capacité mais plus simple d'utilisation.
    - Flac : lecteur de fichier flac qui marche enfin ! c'est de deuxieme format audio supporté dans la lib apres le wav
    - OpenGL : outil de debuggage pour voir les normales, la boox et en mode wireframe

    On remerci Tom Gibara cette semaine pour avoir placé dans le domaine public les algos suivant :
    - Image : filtre de Canny
    - Image : Detection de symetrie
    - Image : Marching squares
    - Image : filtre Haar


    Il y a desormais 4 layouts disponibles : Absolute, Grid, Border, Form, largement suffisant pour des applications
    Nom : 2D_layouts_l.png
Affichages : 494
Taille : 70,8 Ko

    Les outils de debug 3D se rapprochent de ce qui se fait dans les editeurs 3d, avec vue en mode wireframe et affichage des normales et des boites englobantes.
    Nom : debug1.jpeg
Affichages : 497
Taille : 210,1 Ko

  8. #88
    Expert éminent sénior

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

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 031
    Points : 11 474
    Points
    11 474
    Billets dans le blog
    11
    Par défaut
    Salut !

    Pour l'affichage des normales en débug, tu passes par un geometry shader ou autre chose ?

  9. #89
    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 un ShaderActor dans l'api, mais oui ca se traduit en GeometryShader au final.
    le code est la : https://bitbucket.org/Eclesia/unlice...lsl?at=default

    Ce n'est pas tout a fait du GLSL, vu que j'ai imposer un certain nommage et une structure au code de facon a pouvoir combiner les blocks sans qu'il y est d'interference.
    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
     
    <STRUCTURE>
     
    <LAYOUT>
    layout(triangles, invocations = 3) in;
    layout(line_strip, max_vertices = 6) out;
     
    <UNIFORM>
     
    <VARIABLE_IN>
    vec4 position_model;
    vec4 normal_model;
     
    <VARIABLE_OUT>
     
    <FUNCTION>
     
    <OPERATION>
     
        gl_Position = MVP * inData[0].position_model;
        EmitVertex();
        gl_Position = MVP * vec4((inData[0].position_model.xyz + inData[0].normal_model.xyz),1);
        EmitVertex();
        EndPrimitive();
     
        gl_Position = MVP * inData[1].position_model;
        EmitVertex();
        gl_Position = MVP * vec4((inData[1].position_model.xyz + inData[1].normal_model.xyz),1);
        EmitVertex();
        EndPrimitive();
     
        gl_Position = MVP * inData[2].position_model;
        EmitVertex();
        gl_Position = MVP * vec4((inData[2].position_model.xyz + inData[2].normal_model.xyz),1);
        EmitVertex();
        EndPrimitive();

  10. #90
    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, voici de quoi etoffer encore la librairie, qui vient de dépasser les 140.000 lignes.

    - Widget : correction d'une fuite memoire
    - WScrollPane : bien meilleur fluidité lors des scroll
    - OpenGL : Silhouette Renderer
    - OpenGL : CellShading
    - OpenGL : recyclage des program GLSL
    - OpenGL : recharge en memoire system des VBO et IBO
    - OpenGL : outil de debug pour visualiser les triangles adjacent
    - OpenGL : outil de debug pour visualiser le frustrum des cameras
    - OpenGL : outil de debug pour visualiser les normales des facettes
    - OpenGL : draft d'ombre projetées
    - OpenGL : draft support des animations de type Morph Target
    - OpenGL : multiples correction pour l'inversion de system de coordonées (left hand <> right hand)
    - OFF : draft de reader Object File Format

    Et un screenshort CellShading + Silhouette :
    Nom : cellshading.png
Affichages : 429
Taille : 132,3 Ko

  11. #91
    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 ca continue encore et encore :
    - SVG : amelioration du parseur, structure en arbre préservée
    - OpenGL : debut de support des Texture 3D
    - OpenGL : draft terrain procedural
    - OpenGL : draft moteur de particule (snapshot)
    - OpenGL : draft morph animation
    - Image : operateur Rescale
    - Image : operateur Transform
    - WLabel : ajout des propriétés des positionement texte/image
    - WPatchChooser : amelioration de l'interface et support des apercus (snapshot)

    Bertrand Cote (bertry) a encore fait des folies, et pas des moindres :
    - AES : Advanced Encryption Standard, AES-128, AES-192 et AES-256.

    Nom : 3D_particule_l.png
Affichages : 385
Taille : 6,4 Ko
    Nom : 2D_explorer_l.png
Affichages : 432
Taille : 849,9 Ko

  12. #92
    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 en revoila :
    - CharEncoding : support de l'encodage SHIFT-JIS
    - VMD : correction des interpolations dans les animations
    - Vector : method utilitaire de projection
    - ColorSpace : amelioration et ajout des espaces de couleur HSV HSL, LCH
    - Widget : amelioration du WColorChooser
    - Painter2D : support de l'epaiseur des lignes
    - Painter2D : meilleur support des gradients (voir screenshot)
    - Math : draft MDCT : Modified Discret Cosine Transform
    - OpenGL : draft support des texture 1D
    - OpenGL : nouvelle API de picking, permet de retrouver le mesh et les vertices selectionnés
    - OpenGL : amelioration de l'API d'animation
    - OpenGL : Morph target fonctionnel (voir screenshot)
    - OpenGL : support des FBO avec antialiasing (multisampling) et operation 'blit' pour la copie

    Nom : 3D_morphtarget_l.png
Affichages : 401
Taille : 1,60 Mo

    Nom : 2D_gradient_l.png
Affichages : 373
Taille : 18,6 Ko

  13. #93
    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
    En revoici, rien de visible, beaucoup de back-end cette semaine pour ma part :
    - SVG : decodage et interpretation de plusieurs tag
    - CSS : debut de reader
    - OpenGL : skybox a base de cubemap plutot que 6 plans
    - OpenGL : nettoyage des controllers
    - OpenGL : API de detection de 'Gesture' (en gros pour associer des evenements clavier/souris a des actions, deplacement, rotation ...)
    - WEBP : decodeur du conteneur d'image webp

    Et bertry continue dans les algos d'encryptions, je n'ai pas la moindre idée de ce que c'est mais c'est d'un haut niveau , chapeau bertry :
    - Chiffrement : creation de l'API
    - Chiffrement : PKCS5
    - Chiffrement : CBC
    - Chiffrement : CTR

  14. #94
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Points : 827
    Points
    827
    Par défaut
    Encore du nouveau code en crypto!!!
    • Amélioration: ajout du traitement des flux dans les modes de cryptage CBC et CTR.
    • Création (En chantier): la classe LargeInteger(les très grand entiers) utilisée entre autre dans le cryptage RSA.
    • ...

    Bientôt : le Salsa20... ça fait envie! Non??

  15. #95
    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 j'en remets une couche :
    - IVF : décodeur complet
    - VP8 : draft de décodeur
    - VP8-Lossless : draft de décodeur
    - EBML : lecteur complet, c'est un format de conteneur utilisé dans MKV/WEBM comme RIFF ou BXML..
    - MKV : décodage de tous les blocs
    - WEBP : draft de lecteur
    - WEBM : draft de lecteur
    - Widgets/CSS : nouveau format de feuille de style, inspiré de diverses normes HASS,CSS,SLD,SE,...
    - Widgets : beaucoup d'améliorations de perf et de rendu.

    une vidéo pour la route :
    http://unlicense.developpez.com/gall..._3dwidgets.ogv

  16. #96
    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
    Encore ? et oui encore :
    - Javadoc : nettoyage de la doc des modules common et math
    - Widgets : StackLayout pour empiler des widgets, on appelle ça des overlays
    - Widgets : amélioration des widgets en colonnes, tree/table/treetable, ajoute des entêtes de colonnes et redimensionnement de leur largeur
    - Image : algorithme FloodFill
    - OpenGL : très très TRÈS grosses améliorations de perfs ~ x50
    - OpenGL : amélioration du bumpmapping, méthode utilitaire de calcul des tangents/bitangents du modèle 3D
    - Physic : plusieurs petites corrections
    - Collection : quicksort pour les séquences (merci bertry)
    - MDL : décodeur de modèle 3D Valve (halflife2,...etc...) fichiers MDL/VTX/VVD/VTF
    - VMT : décodeur partiel (format d'image de Valve)
    - Particule : possibilité de paramétrage des particules : couleur, texture, taille, durée de vie
    - Geometry : nouvelle geometry 'grid' , ce qui correspond a un espace N dimension divisé en voxel régulier.
    - Geometry : algorithme de clipping Sutherland-Hodgman
    - Geometry : nouveaux opérateurs
    > intersects Triangle/BBox, Grid/Point, Grid/Sphere, Sphere/BBox,
    > intersection Triangle/Triangle
    > collision Sphere/Grid (draft)
    > transform Grid


    Et je remercie le projet Tukaani
    - XZ : reader et writer (c'est l'un des formats de compression les plus efficaces qui existent)

    Une vidéo de physique (très classique) :
    Rebond d'une baballe


    Et une image : calcul de grille de collision pour une scène 3D, ce qui va servir ensuite pour faire des FPS par exemple.
    Nom : 3D_collisiongrid_l.png
Affichages : 275
Taille : 1,98 Mo

  17. #97
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 975
    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 975
    Points : 221 711
    Points
    221 711
    Billets dans le blog
    131
    Par défaut
    La grille de collision est t-elle optimisée ? Car là, je sens que ça risque d'être un peu overkill, non ?

  18. #98
    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
    La grille de collision est t-elle optimisée ? Car là, je sens que ça risque d'être un peu overkill, non ?
    1 Bit par cellule, ça ne me parait pas abusé

    Pour les collisions c'est rapide, une première intersection avec la bbox de l'objet permet de définir les quelques cellules a tester. puis chaque cellule étant une bbox le test n'est pas long.

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 975
    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 975
    Points : 221 711
    Points
    221 711
    Billets dans le blog
    131
    Par défaut
    Et comment vous trouvez la bbox de l'objet ? Vous faites un parcourir de tous les objets avec votre rayon ?

  20. #100
    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
    Et comment vous trouvez la bbox de l'objet ? Vous faites un parcourir de tous les objets avec votre rayon ?
    La bbox est créée au moment où l'on donne les vertices au modèle ou quand ceux-ci sont modifiés.

    Quand aux transformations (matrices) qui vont du modèle à la racine de la scène et vers la grille, elles sont gardées en cache tant qu'il n'y a pas de changement dans le chemin vers la racine.

    La seule partie encore coûteuse est la recherche des éléments qui peuvent être en collision, toutes les combinaisons sont testées 2 à 2, cela changera une fois le quad tree intégré.

    Pourquoi tant de suspicions ?

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, 21h43
  2. Tester des DOMAINS sur Base INTERBASE 6.0
    Par Thierry Laborde dans le forum InterBase
    Réponses: 3
    Dernier message: 28/09/2005, 14h59

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