07-阴影贴图(中间步骤)-将Z缓冲区复制到纹理
8.4.2 阴影贴图(中间步骤)——将Z缓冲区复制到纹理
OpenGL提供了两种将Z缓冲区深度数据放入纹理单元的方法。第一种方法是生成空阴影纹理,然后使用命令glCopyTexImage2D()将活动深度缓冲区复制到阴影纹理中。
第二种方法是在第1轮中构建一个“自定义帧缓冲区”(而不是使用默认的Z缓冲区),并使用命令glFrameBufferTexture()将阴影纹理附加到它上面。OpenGL在3.0版中引入该命令,以进一步支持阴影纹理。使用这种方法时,无须将Z缓冲区“复制”到纹理中,因为缓冲区已经附加了纹理,深度信息由OpenGL自动放入纹理中。我们将在实现中使用这种方法。