Signatur
Beschreibung
Mit getFramebufferAttachmentParameter() fragst du ab, was an einem Anhangspunkt (COLOR_ATTACHMENT0, DEPTH_ATTACHMENT usw.) des Framebuffers hängt, der gerade an target gebunden ist, und wie es angehängt wurde. Du erfährst, ob dort eine Textur oder ein Renderbuffer hängt, welches Objekt es genau ist und welches Mipmap-Level oder welche Würfelseite verwendet wird.
Am nützlichsten ist die Methode bei der Fehlersuche und in Engines oder Hilfsbibliotheken, die fremde Framebuffer untersuchen müssen, etwa um zu prüfen, ob ein Render-Target richtig aufgebaut ist. Außerdem bekommst du damit Formatdetails wie die Farbkodierung (LINEAR/SRGB) oder den Komponententyp (FLOAT, INT, UNSIGNED_INT, SIGNED_NORMALIZED, UNSIGNED_NORMALIZED). In WebGL 1 brauchst du dafür Erweiterungen, in WebGL 2 gehört das zum Standard.
Ab WebGL 2 kannst du zusätzlich die Bittiefe jedes Kanals (FRAMEBUFFER_ATTACHMENT_RED_SIZE, …_DEPTH_SIZE, …_STENCIL_SIZE usw.) und die Textur-Ebene (FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER) abfragen. Das geht auch für den Standard-Framebuffer, also die Zeichenfläche des Canvas. Dafür verwendest du die Anhangspunkte gl.BACK, gl.DEPTH und gl.STENCIL.
Welchen Typ der Rückgabewert hat, hängt von pname ab. Frag deshalb immer zuerst FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE ab. Ist das Ergebnis gl.NONE, hängt nichts am Anhangspunkt. Die meisten anderen Abfragen lösen dann einen GL-Fehler aus und geben null zurück.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $target Pflicht | GLenum | Bindungspunkt des Framebuffers. WebGL 1: nur gl.FRAMEBUFFER. WebGL 2: zusätzlich gl.DRAW_FRAMEBUFFER und gl.READ_FRAMEBUFFER. gl.FRAMEBUFFER entspricht dabei DRAW_FRAMEBUFFER. |
|
| $attachment Pflicht | GLenum | Anhangspunkt: gl.COLOR_ATTACHMENT0, gl.DEPTH_ATTACHMENT, gl.STENCIL_ATTACHMENT, gl.DEPTH_STENCIL_ATTACHMENT. Mit WEBGL_draw_buffers gibt es zusätzlich COLOR_ATTACHMENTi_WEBGL, in WebGL 2 gl.COLOR_ATTACHMENT1 bis gl.COLOR_ATTACHMENT15. Für den Standard-Framebuffer (nur WebGL 2) gibt es gl.BACK, gl.DEPTH und gl.STENCIL. |
|
| $pname Pflicht | GLenum | Abzufragende Information.
|
Rückgabewert
pname ab. Bei Enums und Größen ist es eine Zahl, bei OBJECT_NAME das angehängte Objekt. Bei einem Fehler oder wenn nichts angehängt ist, ist der Rückgabewert null.