Hallo Zusammen, Ich möchte gerne durch eine Platte ein Loch bohren. Eigentlich möchte ich lieber eine beliebige Form ausfräsen, aber um es nicht zu kompliziert zu machen, bleiben wir beim Bohren.
Gibt es in Opengl eine Standartlösung für dieses Problem? Ich meine, dass ich aneinem 3-D objekt zu laufzeit Material abnehme, was natürlich an den Bearbeitungsstellen neue oberflächen erfordert.
Mittels Stencil Buffer Operationen ist das möglich.
Mit dem Stencilbuffer kannst du im Screenspace verhindern das Pixel gezeichnet werden. Vom Prinzip ähnlich wie der Z-Buffer....genau genommen ist es sogar ein und derselbe Buffer (24bit Z-Buffer und 8bit Stencil => 32bit pro Pixel ) Allerdings kann der Stencilbuffer z.B. gezielt inkrementiert oder dekrementiert werden, auch gibt es eine "Maske", man kann also gezielt die Bits im Buffer angucken. Im 2D-Bereich dürfte das vollkommen ausreichend sein. Im 3D-Bereich hilft dir das nur bedingt.
Zitat:
Ein Guter Google such begriff ist: Constructive Solid Geometry
Bei diesem Ansatz wird tatsächlich die Geometrie erzeugt. Dafür nimmt man am besten eine fertige Library. Ich nutze für meine Diplomarbeit beispielsweise die Klassen Polyhedron_3 und Nef_polyhedron_3 von CGAL.
Edit: CGAL ist allerdings ziemlicher Horror wenn du dich nicht mit Templates auskennst. Zudem hat die Library leider keine Möglichkeit um das resultierende Mesh effizient zu rendern. Für den Anfang reicht es einfach jedes Polygon mit glBegin(GL_POLYGON) zu rendern. Langfristig ist aber ein eigener Triangulierer sinnvoll der die Polygone in Dreiecke zerteilt und in ein VBO packt. Sowas ist auch recht schnell geschrieben.
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.