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

JavaFX Discussion :

Caméra orthogonale pour JavaFX 3D


Sujet :

JavaFX

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Caméra orthogonale pour JavaFX 3D
    Bonjour,

    J’utilise JavaFX pour du rendu 3D et j’ai besoin d’une vue orthographique (présentant une projection orthogonale de la scène),
    alors que j’ai actuellement une vue avec perspective.

    Nom : Capture1.PNG
Affichages : 186
Taille : 48,8 Ko
    Vue orthographique : les lignes sont parallèles.

    Nom : Capture2.PNG
Affichages : 171
Taille : 46,1 Ko
    Vue avec perspective : les lignes convergent vers un point de fuite.

    JavaFX ne fournit pas de quoi réaliser ce type de rendu. La classe ParallelCamera du toolkit n’est pas utilisable pour de la 3D
    car la profondeur de champ est dépendante de la taille de la vue (elle correspond à la moitié du maximum entre largeur et
    hauteur de la vue). Cette limitation est évoquée en réponse à cette question sur Stackoverflow.

    J’ai tenté (après avoir lu le commentaire de l’auteur de cette question) de conserver le rendu avec perspective en diminuant
    fortement le FOV et en éloignant la caméra. Le résultat obtenu n’est pas concluant. Avec un FOV de 0.1 ou inférieur, les faces
    ne sont plus triées correctement selon la profondeur : des faces qui sont à l’arrière, normalement non-visibles, se retrouvent
    affichées.

    J’ai aussi tenté de créer une classe héritant de PerspectiveCamera afin de surcharger la méthode réalisant la projection
    (computeProjectionTransform(GeneralTransform3D proj)), dans le but de remplacer la projection avec perspective
    par une projection orthogonale. La méthode surchargée est package-private, et j’ai constaté que la méthode de la classe
    PerspectiveCamera est toujours appelée, et pas celle de ma classe. La raison est donnée ici : la surcharge de méthodes package-
    private n’est prise en compte que si les classes sont chargées par le même ClassLoader.

    Avez-vous une solution à me suggérer ?

    Merci
    Images attachées Images attachées   

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Franchement aucune idée. Vu le peu de méthodes contenues dans la classe Camera je n'ai vraiment aucune idée de comment le rendu final fonctionne (au niveau des transformations mathématiques impliquées), donc le mieux serait :
    1. D’écrire une RFE sur https://bugs.java.com pour demander l'ajout d'une telle caméra en prenant bien soin de bien expliquer le pourquoi du comment que c'est nécessaire et peut-être aussi une partie des maths derrières.
    2. Contacter la mailing list de l'OpenJFX pour demander des conseils sur l’implémentation d'une telle camera ou si c'est tout simplement possible (parce que bon si en interne l'API fait juste un if (parallelCamera) {} else if (perspectiveCamera) {} c'est pas gagné). Penser à indiquer ce que tu as tenté de faire et ce qui ne fonctionne pas.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

Discussions similaires

  1. Quels enrichissements futurs pour JavaFX ?
    Par altadeos dans le forum JavaFX
    Réponses: 3
    Dernier message: 09/07/2012, 21h36
  2. Quel langage alternatif pour JavaFX 2.0?
    Par galien dans le forum JavaFX
    Réponses: 4
    Dernier message: 20/06/2011, 06h52
  3. Matrice orthogonale pour OpenGL 3.2 via shader
    Par iliak dans le forum OpenGL
    Réponses: 3
    Dernier message: 31/03/2010, 20h12
  4. Réponses: 2
    Dernier message: 31/08/2009, 23h33

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