Question

J'ai besoin d'une fonction pour obtenir la valeur d'un voxel (pixel 3D) à partir d'un objet X.volume, compte tenu des coordonnées X, Y, Z en entrée.Il s'agit d'utiliser une pablap comme référence pour une fonction Atlas.Y a-t-il un moyen de faire cela?

Merci beaucoup,

Edward

Était-ce utile?

La solution

Actuellement non, bien que les développeurs XTK créent quelque chose de similaire comme expliqué dans Trouver des coordonnées du monde À partir des coordonnées de l'écran , bien que ce que je pense ce qui est fait, il existe une fonction de non-aspersion et un test d'intersection de rayons / triangle. Un test d'intersection RAY / TRIANGLE JUSTS jette un rayon de votre écran dans le monde 3D et renvoie les premières coordonnées triangulaires intersectées, mais bien sûr, vous devez trouver les voxels. Vous pouvez essayer de créer une fonction de dévoice et quelque chose de similaire à l'intersection Ray / Triangle, mais à la recherche du voxel intersecté le plus proche au lieu de triangle. Aide avec une fonction de dévoice est ici ici http://myweb.lmu.edu /Dondi/share/cg/unproject-explained.pdf , mais Rememeber que le lien explique GluunProject de OpenGL, mais explique toujours ce que nous devons faire, nous ne faisons que faire une version alternative de GluunProject pour WebGL. Toutes les solutions que vous pouvez trouver seraient grandement appréciées si elles ont contribué à XTK. Ou vous pouvez attendre sur la fonction de dérojection pouvant éventuellement provenir du problème associé à la recherche des coordonnées 3D.

Autres conseils

Quels sont vos (x, y, z)? Sont-ils les coordonnées dans la base du monde ou dans la base du volume? Dans les deux cas, une solution pourrait être calculée (elle sera un peu plus compliquée dans le 1er cas), mais je pense que cela nécessiterait quelques modifications apportées aux sources.

Voulez-vous coder un peu dans les sources et participer? Ce serait génial pour les utilisateurs de XTK comme nous! Vous pourrez passer à travers le volume Hichery et faire quelques opérations:

  • Si (x, y, z) sont des coordonnées dans la base du monde: compliqué. Doit faire des tests: -)
  • Choisissez une direction à utiliser (1 volume peut avoir des tranches dans 3 directions), pour EX SLICESX pour la 1ère direction
  • avec la coordonnée X X du volume, l'espacement du volume X et la coordonnée X du point cueilli trouvent la bonne tranche de SLICESX
  • avec le centre du volume (Y, Z), l'espacement du volume Y et Z, et les coordonnées Y et Z du point cueilli obtiennent la coordonnée (X ', Y') sur la carte de texture de la tranche choisie
  • avec la taille de la texture de la tranche choisie Obtenez (x '' ', Y' ') les coordonnées de l'image de texture de la tranche
  • Lire le point (x '', y '') point de la texture

Je suis désolé, je n'ai pas le temps de regarder plus loin cette semaine, mais peut-être plus tard.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top