Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mo Jul 14, 2025 19:44

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mi Sep 22, 2010 11:15 
Offline
DGL Member

Registriert: Sa Mai 15, 2010 13:25
Beiträge: 13
Hallo, guten Tag.
Wie heisst in der 3d-Sprache ein Befehl , der die nicht sichtbaren Dinge im Fenster auslässt und nicht zeichnet, damit das Programm schneller läuft.

Nicht speziell Opengl sondern auf Irrlicht fixiert.

Danke.

Gruss


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Sep 22, 2010 11:36 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
1) Welcher? Es gib einen Tiefenpuffer, und die ClippingPlanes (*1). Die entfernen beide nicht sichtbare Sachen, und bei beiden gehts dadurch schneller, aber beide sorgen auch erst dafür, dass das, was sichtbar ist, nicht mit irgendeinem Schrott überschrieben wird.

2) Welche "3d-Sprache"? Nicht OpenGL und anscheinend auch nicht D3D? Irrlicht kenn ich nicht. Vielleicht kommt noch wer, ders kennt, und dir die Frage sinnvoll beantworten kann. wenn nicht ggf Genauer sagen, was du meinst. Bin aus der Frage nämlich nicht ganz schlau geworden.

*1: sind noch nicht alle, zB gibts auch noch den Stencilpuffer


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Sep 22, 2010 11:47 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Hm ich weiß nicht was du genau meinst...wahrscheinlich suchst du den Begriff "Culling". Damit man das ausschließen von nicht sichtbaren Dreiecken beim Rendern.
  • Backface Culling: Nur Dreiecke deren Vertices aus Sicht der Kamera im Uhrzeigersinn angeordnet sind werden gerendert. Die Rückseiten der Objekte lassen sich damit effizient vom rendern ausschließen. Backface Culling geschieht erst auf der Grafikkarte.
  • Viewing Frustum Culling: Nur Objekte im Viewing Frustum (Pyramiden-Stumpf) der Kamera werden gerendert. Üblicherweise setzt man dafür verschiedene Baumstrukturen (etwa BSP, QuadTree, OctTree) auf Objekt-Ebene ein und lässt den Rest vom Clipping der Grafikkarte erledigen.
  • Z-Buffer: Für jeden Pixel wird ein Tiefenwert in einem zusätzlichen Buffer (dem Tiefenbuffer/Z-Buffer) gespeichert. Ein Pixel wird nur gerendert wenn dessen Tiefenwert kleiner ist als der bereits im Buffer befindliche. Sortiert man seine grob Objekte nach ihrer Entfernung zur Kamera kann man damit einiges raus holen, insbesondere bei aufwendiger Texturierung/Beleuchtung. Auch ein extra Pass zum füllen des Z-Buffers kann hilfreich sein.
  • Occlusion Culling: Objekte die vollständig durch andere Objekte verdeckt werden werden nicht gerendert. Wird gerne durch OcclusionQueries realisiert. Auch hier nur auf Objekt-Ebene, nicht runter bis zum einzelnen Dreieck, der Rest wird durch den Z-Buffer erledigt.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Sep 22, 2010 14:25 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Die Hardwarefunktionalität die das macht nennt sich Guard Band Clipping, k.a. ob es dass ist wonach du suchst.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 14 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 16 Queries | GZIP : On ]