在webgl的使用过程中,我们通常会想对texture进行多级处理并对其贴在表面显示如对较精准的边缘检测,要先后使用灰度shader、模糊shader、边缘shader来进行处理,而每次的处理对象则是上一次处理后的texture,这就要对处理后的结果进行覆盖保存。 在众多we ...
在webgl的使用过程中,我们通常会想对texture进行多级处理并对其贴在表面显示
如对较精准的边缘检测,要先后使用灰度shader、模糊shader、边缘shader来进行处理,而每次的处理对象则是上一次处理后的texture,这就要对处理后的结果进行覆盖保存。
在众多webgl库中,直接有选项rederToTarget来实现将shader处理后的texture渲染并覆盖原texture,其是怎么完成这个步骤的呢?
这就要引出本文的主角——FrameBuffer
FrameBuffer是什么
FBO(Frame Buffer Object)是被推荐用于将数据渲染到纹理对象的扩展。
FrameBuffer就像是一个webgl显示容器一样,平时我们使用gl.drawArrays或者gl.drawElements都是将对象绘制在了默认的窗口中,而当我们指定一个FrameBuffer为当前窗口时,则用这两个方法去绘制,则会将对象绘制于指定的FrameBuffer中。
FrameBuffer的使用
internalformat, int x, int y, sizei width,
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:WebGL中图片多级处理(FrameBuffer)
关键词:web
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。