所以目前我想在我的引擎中实现辐射度。在计算出元素/磁盘/补丁之间反射的光量之后(有人告诉我磁盘是最好的--如果我错了,请纠正我),你怎么把它烤成纹理呢?
我是否将渲染目标设置为我的纹理大小,并修改我的着色器以使用UV坐标?这真的把我搞糊涂了,还有别的办法吗?我是否需要将光线烘焙到纹理中,这些天硬件是否足够好?
发布于 2016-11-06 05:37:19
是的,你应该设置光线贴图纹理作为渲染目标,并使用UV坐标作为你的着色器中的顶点位置坐标,将灯光烘焙成光地图。通过这种方式,您将将三角形的烘焙照明数据写入用于在屏幕上呈现三角形的正确的lightmap纹理。紫外线地图应该是唯一的,并且在紫外线空间中不应该有三角形重叠.还需要扩展lightmap数据,以便以后使用双线性滤波从纹理中提取数据,这样就不会在UV接缝处出现黑色边框。
你也可以使用体积纹理来代替烘焙间接光照到表面光图中。好的是,与体积纹理,你将有间接照明数据,在现场随处可见,你不需要独特的紫外线映射,但你也会有较低的分辨率,因为增加的内存使用。
如果你需要烘焙间接光照到纹理取决于场景的复杂性,照明的质量和性能/mem使用,你想要实现,所以没有简单的答案。
https://computergraphics.stackexchange.com/questions/4228
复制相似问题