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

avec Java Discussion :

Construction d'une image pixel par pixel en multi-threads


Sujet :

avec Java

  1. #21
    Membre averti
    Inscrit en
    Juin 2011
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 258
    Points : 334
    Points
    334
    Par défaut
    Pour le rendu, une vidéo de quelques secondes de ce que ça donne: http://uptobox.com/kqgbq8gb59oo

    Avec une lumière moins aggressive: http://uptobox.com/4ydq3eo5mj4s

    Un sol réfléchissant (couleur 0, 51, 51), trois sphères réfléchissantes et une transparente.

    Merci pour les pistes, je vous donnerais du neuf dans les prochains jours au fur et à mesure des améliorations.

  2. #22
    Membre averti
    Inscrit en
    Juin 2011
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 258
    Points : 334
    Points
    334
    Par défaut
    J'ai changé le drag & drop, pour déplacer l'objet "en direct" et non plus au relâchement de la souris: http://uptobox.com/ejzlnuvdcm6b

    On voit bien la latence que cela induit, mais le résultat n'est pas si mauvais.

    Edit: une des fonction est appelée 2.6 millions de fois pour un rendu, c'est elle qui "bouffe" le plus de temps. A l'intérieur rien de très gourmand. Mais comme disait Coluche: "Un p'tit peu par un p'tit peu ça fait un gros peu".

    Edit': Je pense que je vais devoir utiliser le gpu en parallèle pour avoir des temps plus décents, étant donné que le GPU est à priori très efficace pour ce qui est des traitements parrallèles. OpenCL a l'air d'être pas mal pour ça. Vous en pensez quoi? Ca pourrait à priori diviser le temps d'exécution par [1..10].

  3. #23
    Membre éprouvé

    Homme Profil pro
    Ingénieur logiciel embarqué
    Inscrit en
    Juillet 2002
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur logiciel embarqué
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2002
    Messages : 389
    Points : 1 178
    Points
    1 178
    Par défaut
    Hum ca doit surement aider, mais rendu la pourquoi ne pas utiliser opengl (qui utilise le gpu pour toi)?

  4. #24
    Membre averti
    Inscrit en
    Juin 2011
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 258
    Points : 334
    Points
    334
    Par défaut
    En effet.

    Mon objectif est d'essayer de faire du temps réel sans bibliothèque ou framework externe, ce serait violer cet objectif. Je vais chercher ce qu'il est possible de faire soi-même et comment il est possible de le faire.

    Edit: Java 8 contiendra openCL en natif? ici et là Mhhh, dans ce cas, je peux l'utiliser sans violer mon objectif. :p

  5. #25
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    La fonction qui est appelée 2.6 millions de fois, elle contient quoi ?

  6. #26
    Membre averti
    Inscrit en
    Juin 2011
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 258
    Points : 334
    Points
    334
    Par défaut
    Elle calcule, pour chaque objet, si le rayon en cours touche un des objets.

    400*400 (nombres de pixels) * nombre de rayons envoyés par pixel (pour la précision) = ça monte très vite.

  7. #27
    Membre éprouvé

    Homme Profil pro
    Ingénieur logiciel embarqué
    Inscrit en
    Juillet 2002
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur logiciel embarqué
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2002
    Messages : 389
    Points : 1 178
    Points
    1 178
    Par défaut
    en gros pour ton rendu du fait un genre de raytracing soft et tu trouve étrange que ca soit long ? ^^

    Je crois que c'est une méthode de rendu connue pour être longue (même optimisé sur un gros processeur) !

    Du coup effectivement, openCL peu te sauver du temps, mais ça risque d’être difficile d'arriver a 60fps

  8. #28
    Membre averti
    Inscrit en
    Juin 2011
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 258
    Points : 334
    Points
    334
    Par défaut
    Oui c'est du ray tracing (je l'ai marqué dans le premier post), je ne trouve rien bizarre, je cherche seulement à le rendre temps réel. Si possible ~15-20 fps, donc ~50 ms par image

  9. #29
    Membre éprouvé

    Homme Profil pro
    Ingénieur logiciel embarqué
    Inscrit en
    Juillet 2002
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur logiciel embarqué
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2002
    Messages : 389
    Points : 1 178
    Points
    1 178
    Par défaut
    hum bonne chance, du coup tu m'a donner envie de tester le raytracing, ca tombe bien c'est la fin de semaine de quoi passer un bon we!

    La sans le code ca va être dur pour nous de te donner d'autre pistes bonne chance !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Import d'une image PNG par pixel
    Par LudoParis dans le forum VB.NET
    Réponses: 7
    Dernier message: 12/12/2011, 19h47
  2. Image a remplir Pixel par Pixel, Quel objet utiliser ?
    Par ZbergK dans le forum GTK+ avec C & C++
    Réponses: 5
    Dernier message: 28/02/2007, 21h35
  3. [ImageMagick] Parcourir une image pixel par pixel
    Par kip dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 05/10/2005, 14h10
  4. [VB6] [Graphisme] Transfert d'image pixel par pixel
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 15/10/2002, 09h53

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