[ Leksykon ] [ JavaScript ] [ Metody ] [ canvas ] [ WebGL ]
WebGLRenderingContext.checkFramebufferStatus()
[_] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z]
checkFramebufferStatus(target)
Przykłady:
gl.bindTexture(gl.TEXTURE_2D, tekstura);
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
const framebuffer = gl.createFramebuffer();
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, tekstura, 0);
if (gl.checkFramebufferStatus(gl.FRAMEBUFFER) !== gl.FRAMEBUFFER_COMPLETE) {
console.log("NO FRAMEBUFFER_COMPLETE");
}
if (gl.checkFramebufferStatus(gl.FRAMEBUFFER) === gl.FRAMEBUFFER_COMPLETE) {
console.log("FRAMEBUFFER_COMPLETE");
}
Opis:
Metoda WebGLRenderingContext.checkFramebufferStatus() zwraca stan kompletności obiektu WebGLFramebuffer.
Parametr target - GLenum określenie punktu wiązania celu. Możliwa wartość:
gl.FRAMEBUFFER - Bufor kolekcji przechowujący dane dotyczące koloru, alfa, głębi i szablonu używane do renderowania obrazu.
W przypadku korzystania z kontekstu WebGL 2 dostępne są dodatkowo następujące wartości:
gl.DRAW_FRAMEBUFFER - Równoważny gl.FRAMEBUFFER. Używany jako miejsce docelowe operacji rysowania, renderowania, czyszczenia i pisania.
gl.READ_FRAMEBUFFER - Używane jako źródło operacji odczytu.
Wartość zwracana GLenum wskazujący stan kompletności bufora ramki lub 0 wystąpienie błędu. Możliwe wartości zwracane przez wyliczenie:
gl.FRAMEBUFFER_COMPLETE - Bufor ramki jest gotowy do wyświetlenia.
gl.FRAMEBUFFER_INCOMPLETE_ATTACHMENT - Typy przyłączania są niedopasowane lub nie wszystkie punkty podłączenia bufora ramki są zakończone.
gl.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT - Nie ma załącznika.
gl.FRAMEBUFFER_INCOMPLETE_DIMENSIONS - Wysokość i szerokość osprzętu nie są takie same.
gl.FRAMEBUFFER_UNSUPPORTED - Format załącznika nie jest obsługiwany lub załączniki dotyczące głębokości i szablonu nie są tym samym buforem renderowania.
W przypadku korzystania z kontekstu WebGL 2 dodatkowo można zwrócić następujące wartości:
gl.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE - Wartości gl.RENDERBUFFER_SAMPLES są różne dla dołączonych buforów renderowania lub są niezerowe, jeśli dołączone obrazy są mieszanką buforów renderowania i tekstur.
W przypadku korzystania z OVR_multiview2 rozszerzenia można dodatkowo zwrócić następującą wartość:
ext.FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR - Jeśli baseViewIndex nie jest taki sam dla wszystkich punktów podłączenia bufora ramki, gdzie wartość FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE nie jest równa NONE, bufor ramki jest uważany za niekompletny.
Zobacz też:
bindFramebuffer() -
createFramebuffer() -
deleteFramebuffer() -
isFramebuffer() -
WebGLFramebuffer -