Ich versuche, das aktuelle Problem mit GPU Fähigkeiten zu lösen: "gegeben eine Punktwolke P und eine orientierte Ebene durch einen Punkt und eine Normale (Pp, Np) die Punkte in der Wolke zurückgeben, die in einer Entfernung gleich oder weniger als EPSILON von der Ebene laugen ".Abfrage Punkte Epsilon-nah an einer Schnittebene in Punktwolke mit der GPU
Gespräch mit einem Kollegen I in Richtung auf die folgende Lösung konvergiert:
1) bereiten einen Eckenpuffers der Punkte mit einem daran befestigten Texturkoordinate so dass jeder Punkt ein anderer Eckpunkt 2) eingestellten Projektionsstatus Koordinate zu orthogonal 3) rotiere das Netz so, dass die Normale der Ebene mit der -z-Achse ausgerichtet ist und versetze es so, dass x, y, z = 0 entspricht Pp 4) setze die z-Clipping-Ebene so, dass z: [-EPSILON; + EPSILON] 5) Rendern zu einer Textur 6) die Textur von der Grafikkarte abrufen 7) die Textur von der Grafikkarte lesen und sehen, was p oints wurden (in Bezug auf ihre Indizes) gerendert, das sind die Punkte innerhalb des gewünschten Entfernungsbereichs.
Jetzt sind die Probleme die folgenden: q1) Muss ich einen Fensterrahmen öffnen, um solch eine Operation zu machen? Ich arbeite in MATLAB und benenne MEX-C++. Aus Erfahrung weiß ich, dass sobald du einen neuen Rahmen öffnest, der ganze Anzug kläglich zusammenbricht! q2) Was ist das Primitive, um einem GLPoint eine Texturkoordinate zu geben? q3) Mir ist nicht klar, wie das Rendern einer Textur implementiert werden würde? Jede Referenz, Tutorial wäre super ... q4) Wie würden Sie diese Textur von der Karte abrufen? Wiederum wäre jede Referenz, Tutorial wäre toll ...
Ich bin auf einem engen Zeitplan, so wäre es schön, wenn Sie mir die Namen der Techniken, die ich lernen sollte, eher auf die GLSL-Spezifikation Dokument und die OpenGL-API als jemand getan hat. Das sind ein bisschen zu vage Antworten auf meine Frage.
Vielen Dank für einen Kommentar.
p.s. Beachten Sie auch, dass ich lieber keine Ressource wie CUDA verwenden würde, wenn möglich, also etwas, das verwendet, so viele OpenGL-Elemente wie möglich, ohne dass ich einen neuen Shader schreiben muss.
Hinweis: cross posted bei http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=245911#Post245911
Wenn Sie dies abstimmen, hinterlassen Sie bitte einen Kommentar warum. Ich würde gerne wissen. – Sarien