私はHDRを使ってBloomのポストプロセッシングエフェクトを実装しようとしています。私は、同じ効果を出すためのオンラインチュートリアルである足場を使用していますが、最新バージョンのOpenGLに基づいています(チュートリアル)。シェーダースクリプティング用にOpenGL ES 2.0でWebGL 1.0を使用しています。OpenGLのglDrawBuffersを実装するためのwebGl代替メソッドは何ですか?
rboDepth = gl.createRenderbuffer()
gl.bindRenderbuffer(gl.RENDERBUFFER, rboDepth);
gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_COMPONENT, gl.viewportWidth, gl.viewportHeight);
glFramebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, rboDepth);
// - Tell OpenGL which color attachments we'll use (of this framebuffer) for rendering
var attachments = [ gl.COLOR_ATTACHMENT0, gl.COLOR_ATTACHMENT1 ];
glDrawBuffers(2, attachments);
// - Finally check if framebuffer is complete
if (gl.checkFramebufferStatus(gl.FRAMEBUFFER) != gl.FRAMEBUFFER_COMPLETE)
alert("Framebuffer not complete!");
私は2番目のコードブロックが正確に、あなたは説明する気にしないどのように機能するかを理解していませんか? – Khabs
2番目のコードブロックはプロパティと関数を 'ext'から' gl'にコピーしています。名前が '_WEBGL'または' WEBGL'で終わると、その部分を削除します。そのブロックがなければ、 'ext.drawBuffersWEBGL(...)'を呼び出します。そのブロックで 'gl.drawBuffers(...)'を呼び出すことができます。 – gman