glRenderMode
Inhaltsverzeichnis
glRenderMode
glRenderMode
glRenderMode - Bestimmt den Rasterisierungsmodus (rasterization mode).
Delphi-Spezifikation
function glRenderMode(mode : GLenum) : GLint;
Parameter
mode | Gibt den Rasterisierungsmodus an. Drei Werte werden akzeptiert: GL_RENDER, GL_SELECT und GL_FEEDBACK. |
Standartwert ist GL_RENDER.
Beschreibung
Der Funktion glRenderMode wird eine Variable, mode, übergeben. Diese kann einen der folgenden Werte annehmen:
GL_RENDER
- Rendermodus
- Primitive werden rasterisiert, daraus werden Pixelfragmente gemacht welche in den Framebuffer geschrieben werden.
- Dieser Modus ist der normale "Zeichenmodus" und und gleichzeitig der Standard.
GL_SELECT
- Selektions Modus
- Es werden keine Pixelfragmente produziert und es werden auch keine Änderungen am Framebuffer durchgeführt.
- Anstelle dessen werden 4 Werte pro Primitiven in einen Selektions Puffer geschrieben. Dieser Puffer muss schon vor dem Aufruf dieser Funktion erstellt worden sein.
- Die vier die man pro Primitiven erhält sind:
- Anzahl der Namen auf dem Stack
- Kleinster Z-Wert des getroffenen Objektes
- Größter Z-Wert des getroffenen Objektes
- Name des Objektes
GL_FEEDBACK
- Feedback Modus
- Es werden weder Pixelfragmente produziert noch Änderungen am Framebuffer durchgeführt.
- Alle sichtbaren Vertexe werden in einem Rückgabe Puffer geschrieben. Dieser Puffer muss schon vor dem Aufruf dieser Funktion erstellt worden sein.
Der Rückgabewert der Funktion glRenderMode richtet sich nach dem Rendermodus, welcher vor ihrem Aufruf aktiv war:
Normaler Rendermodus
- Null
Selektions Modus
- Die Anzahl der getroffenen Objekte die in den Selectionbuffer geschrieben wurden.
Feedback Modus
- Die Anzahl der Werte (nicht Vertexe) die in den Feedback Buffer geschrieben wurden.
Wenn ein Fehler ausgelöst wird, liefert glRenderMode unabhängig vom Rendermodus Null ("0") zurück.
Fehlermeldungen
GL_INVALID_ENUM wird generiert wenn mode ein ungültiger Wert übergeben wird.
GL_INVALID_OPERATION wird generiert wenn glSelectBuffer aufgerufen wird, solange der Rendermodus GL_SELECT ist, oder wenn glRenderMode mit dem Argument GL_SELECT aufgerufen wird bevor nicht glSelectBuffer mindestens einmal aufgerufen wurde.
GL_INVALID_OPERATION wird generiert wenn glFeedbackBuffer aufgerufen wird, solange der Rendermodus GL_FEEDBACK ist, oder wenn glRenderMode mit dem Argument GL_FEEDBACK aufgerufen wird bevor nicht glFeedbackBuffer mindestens einmal aufgerufen wurde.
GL_INVALID_OPERATION wird generiert wenn glRenderMode in einem glBegin-glEnd Block aufgerufen wird.
Zugehörige Wertrückgaben
glGet mit Token GL_RENDER_MODE
Siehe auch
glSelectBuffer,glFeedbackBuffer, glInitNames, glLoadName, glPassThrough, glPushName
Links
DGL-Tutorial selection