opengl后处理为啥需要两个framebuffer
为什么不直接一次在默认framebuffer里面画出这个贴图呢 【opengl后处理为啥需要两个framebuffer】 用来屏幕输出的那个表面,好像不能当成贴图来被访问吧?
■网友
你的意思是创建贴图的时候直接画到帧缓存?!下次再画的话,从帧缓存里找贴图的数据?!行不通。而且和双缓存也没关系啊。我确实没看懂题目,就当你说的是这个意思好了。举个再简单不过的例子。某张 1024x1024 的贴图贴到了一个三角形上,这个三角形用到了这个贴图的一半,即 (0.0, 0.0), (0.0, 1.0), (1.0, 1.0)。你问另一半啊,别的网格用呗。可惜这个三角形就占了几十个屏幕像素的大小。这就完了?贴图采样来的数据要计算光照哦!三角形可能背对屏幕,又做了背面剔除哦!三角形可能被另一个物体挡掉一半,只剩下个角哦,或者干脆不剩哦!最后帧缓存里有什么?可能只剩下几十个经过坐标变换,经过光照计算,经过深度缓存,剩下几十个扭曲的,无法还原到原始贴图里的像素。先把贴图采样着色的过程搞清楚啊!原始的贴图当然是独立存储的。帧缓存就只有绘制结果而已,为什么要在里面保存一张和绘制结果差了十万八千里的贴图?
推荐阅读
- 济南垃圾处理单位“前分后混”将面临最高十万元罚款
- 为啥看到书柜上的藏书会有心旷神怡的感觉
- 为啥知乎上普便有一种【我在北上广深打工,所以拥有更好的视野】这样的错觉
- 为啥工商银行的用户体验如此之差
- 汽车|看了中消协4S店服务测评调查结果,终于知道法系车为啥卖不好了
- 汽车知识|捷达库存成灾,特价处理,4S店卖不动,大家都不差钱!
- 你为啥从窝窝商城离职?
- 想要入门图像处理,应该从哪本书看起
- 为啥5G和2.4G默认的BSSID是相同的
- 学图像处理有哪些不错的书推荐
