greggman / twgl.js

A Tiny WebGL helper Library
http://twgljs.org
MIT License
2.67k stars 260 forks source link

Maybe add this function that returns checkFramebufferStatus result as a string #145

Closed baturinsky closed 4 years ago

baturinsky commented 4 years ago
export function checkFramebufferStatus(gl:WebGLRenderingContext, target = gl.FRAMEBUFFER){
  let status = gl.checkFramebufferStatus(target);
  for(let s of [ 
  "FRAMEBUFFER_COMPLETE",
  "FRAMEBUFFER_INCOMPLETE_ATTACHMENT",
  "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",
  "FRAMEBUFFER_INCOMPLETE_DIMENSIONS",
  "FRAMEBUFFER_UNSUPPORTED",
  "FRAMEBUFFER_INCOMPLETE_MULTISAMPLE",
  "RENDERBUFFER_SAMPLES"]){
    if(gl[s] == status)
      return s;
  }
  return "UNKNOWN";
};
greggman commented 4 years ago

If you want an enum as a string call twgl.glEnumToString?

 console.log(twgl.glEnumToString(gl, gl.checkFramebufferStatus(gl.FRAMEBUFFER)));

https://jsfiddle.net/u5vw8b70/

Or probably more commonly

const status = gl.checkFramebufferStatus(gl.FRAMEBUFFER);
if (status !== gl.FRAMEBUFFER_COMPLETE) {
  console.error(twgl.glEnumToString(gl, status));
  ...
}
baturinsky commented 4 years ago

Yeah, that woks