首先正常渲染其他的物体,拿到正常渲染的buffer和depth buffer.
2.将投影框作为一个长方体进行渲染,关闭Face Cull,将depth test设置为GreatEqual,输出一个标志位到stencil...buffer(或者任意其他可以标志像素点的方式),不需要输出颜色值
3.再次将投影框作为长方体渲染,打开Face Cull(只绘制长方形靠前的三个面),再上一步中stencil buffer测试通过的位置绘制...中读取然后反变换获得(后处理中非常常用的方法).
7.Deferred实现
大致和上面的方法相同
deferred渲染管线中渲染所有gbuffer之后
和上一个方法中讲到的一样,同样是先渲染长方体,写入stencil...buffer,然后再次渲染长方体,根据stencil buffer来改变gbuffer中的数据,根据需要选择修改basecolor,normal等;
因为gbuffer被修改,后面的光照计算会产生