Stack: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(OpenGL Relevanz)
K (Paragraphen umsortiert)
Zeile 6: Zeile 6:
  
 
Im realen Leben findet man das LIFO Prinzip bei einem Bücherstapel. Bei selbigen sollte man vermeiden Bücher aus der mitte zu entfernen. Am sichersten ist es immer das oberste Buch zu entfernen.
 
Im realen Leben findet man das LIFO Prinzip bei einem Bücherstapel. Bei selbigen sollte man vermeiden Bücher aus der mitte zu entfernen. Am sichersten ist es immer das oberste Buch zu entfernen.
 +
 +
 +
==Implementation==
 +
Stacks können mittels einfach verketteten Listen implementiert werden.
 +
 +
Die Methode {{INLINE_CODE|Push()}} fügt eine neues Element am Kopf der Liste an, {{INLINE_CODE|Pop()}} entfernt das erste Element der Liste.
  
  
Zeile 15: Zeile 21:
  
 
Die maximale Höhe/Tiefe (Menge an Informationen) ist Implementationsabhängig und kann mit [[glGet]] abgefragt werden. (Als Parameter dienen die GL_MAX_''STACKNAME''_STACK_DEPTH Konstanten. )
 
Die maximale Höhe/Tiefe (Menge an Informationen) ist Implementationsabhängig und kann mit [[glGet]] abgefragt werden. (Als Parameter dienen die GL_MAX_''STACKNAME''_STACK_DEPTH Konstanten. )
 
==Implementation==
 
Stacks können mittels einfach verketteten Listen implementiert werden.
 
 
Die Methode {{INLINE_CODE|Push()}} fügt eine neues Element am Kopf der Liste an, {{INLINE_CODE|Pop()}} entfernt das erste Element der Liste.
 
  
  

Version vom 12. April 2007, 01:02 Uhr

Ein Stack (Stapel, Stapelspeicher veraltet auch Kellerspeicher) ist eine Datenstruktur welche Daten nach dem LIFO Prinzip speichert.

Was ist LIFO?

Bücherstapel

LIFO steht für Last In - First Out, d.h. das zuletzt gespeicherte Datum wird zuerst entnommen.

Im realen Leben findet man das LIFO Prinzip bei einem Bücherstapel. Bei selbigen sollte man vermeiden Bücher aus der mitte zu entfernen. Am sichersten ist es immer das oberste Buch zu entfernen.


Implementation

Stacks können mittels einfach verketteten Listen implementiert werden.

Die Methode Push() fügt eine neues Element am Kopf der Liste an, Pop() entfernt das erste Element der Liste.


OpenGL Relevanz

Stacks finden an verschiedenen Stellen innerhalb der OpenGL Verwendung. So existiert für die 3 Hauptmatrixmodi (siehe glMatrixMode) jeweils ein eigener Stack.

Für Eigenschaften wie z.B. die Farbe, oder welche Tests aktiv sind existiert der Attribut-Stack (siehe glPushAttrib). Für die Selektion existiert der Name-Stack welcher OpenGL Name speichert.

Die maximale Höhe/Tiefe (Menge an Informationen) ist Implementationsabhängig und kann mit glGet abgefragt werden. (Als Parameter dienen die GL_MAX_STACKNAME_STACK_DEPTH Konstanten. )


OpenGL Funktionen

glPushAttrib, glPushClientAttrib, glPushMatrix


Siehe Auch

Queue, FIFO