Je cherche un moyen de rendre un objet transparent dans JavaFX 3D. Jusqu'à présent rien. J'ai trouvé problème https://bugs.openjdk.java.net/browse/jdk-8090548 < / a>. Y a-t-il une solution de contournement ou est-ce juste quelque chose que je ne peux pas utiliser? Aurai-je besoin de quelque chose d'autre que JavaFx (comme Java3D) si j'ai besoin d'un objet transparent? P>
3 Réponses :
mise à jour em> p>
Cette réponse est obsolète, à partir de Java 8U60B14 comme transparence a été ajoutée à JavaFX dans cette construction. P>
En tant que problème que vous connaissez dans vos notes de questions, la transparence n'est pas prise en charge dans JavaFX 3D pour Java 8. Il peut être mis en œuvre pour Java 9. P>
Il existe une solution de contournement qu'un utilisateur mentionne dans les commentaires sur le suivi qui implique un piratage au code natif du pipeline Javafx OpenGL. Si vous êtes désespéré pour cette fonctionnalité, vous pourriez essayer ce piratage. Si cela ne vous convient pas, vous devrez alors choisir une technologie différente. P>
Merci. On dirait que Java 3D (au lieu de JavaFX 3D) sera la solution plus simple pour obtenir la transparence du travail.
Depuis jdk8u60 B14 Transparence est activé en formes 3D.
Ceci est un test rapide effectué avec celui-ci: < / p>
p>
cylindre avec couleur diffuse Il n'y a pas d'algorithme de tri de profondeur Cependant, ce qui signifie que l'ordre de la manière dont les formes 3D sont ajoutées à la scène matière em>. Nous devons changer l'ordre pour autoriser la transparence dans la case: p> couleur. Web ("# FFFF0080") code> est ajouté sur le dessus em> d'une boîte et deux sphères. p>
p> p>
Voici une solution partielle. Pour ajouter de la transparence à une sphère avec l'image de la texture de la terre mappée, définissez em> un diffusemap et em> un diffusecocolor: Cela ne fonctionne que pour autoriser l'image d'arrière-plan de la scène (définie par Apparemment, la raison pour laquelle cela fonctionne est que la couleur diffuse est multipliée par la couleur diffuseemap lors du calcul de la couleur des pixels. Voir https://docs.oracle.com /javase/8/javafx/apli/javafx/scene/paint/phangmaterial.html . p> p> scene.sefill (StarfieldImagePattern); code>) à afficher. Il ne fonctionne pas encore pour permettre aux autres formes de montrer à travers. P>