您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 一笑一尘埃 于 2020-11-23 15:33 编辑
Artem Krizhanovskiy演示了索引材料映射方法,通过从预定义的LUT中取样所有材料数据,使他能够在不丢失记忆的情况下增加细节。
导言
这种方法的主要思想是减少压缩伪影,增加所有PBR通道中的细节,在不改变内容的情况下获得高度可定制的阴影,并最终减少内存。
进场- 而不是直接纹理方法,我依赖的材料基础的方法,在其中使用梯度(磨损或条件)和材料,我们可以采样所有的材料数据从预定义的LUT。
唯一的投入是: - 4通道全尺寸梯度-ID地图,压缩
- 全尺寸正切或物体空间法线图,压缩
- 16x16反照率,重新油漆LUT,未压缩
- 16x16金属,粗糙LUT,未压缩
- 梯度纹理:r-环境遮挡,G-材料ID,B-细节ID,A-梯度
- 材料LUT 1:RGB-反照率,A-重新油漆面具,未压缩,无MIP-地图
- 材料LUT 2:r-金属,G-粗糙度,BA-空环未压缩,无MIP-MAP
- 基本上,梯度作为U,材料ID映射作为V在读取材料LUT纹理:纹理(材料LUT_采样器,矢量2(梯度,材质_ID))
- 从原理上看,它看起来如下:
- 这个过程非常简单,可以通过代码或基于节点的编辑器(如物质设计器或虚拟引擎)来再现:
在这种情况下,附加的伪装图案纹理被用作重绘颜色。 重新油漆的想法是建立在反向混合的基础上的。如我们所知,平凡的线性插值如下所示: 结果=C_base*(1-alpha)+C_PATE*α C_base=(结果-C_画图*alpha)/(1-α) 结果=C_base*(1-alpha)+C_reploy*alpha
细节决定成败详细的(顶部)图像有16倍的纹理密度,而它仅重约11%的内存。
这种方法的过程性质允许我在模型中应用完整的PBR细节集,它可以很好地处理所有材料和重新绘制选项。 详细图由16块瓷砖组成,其中包含一组细节、法线和细节梯度。Detail_ID映射用于定义用于细节的瓷砖。 我建议在RG中使用Bc7纹理格式,在RG中使用普通R和G通道,在B中使用渐变,代码中需要进一步恢复普通B通道。 您可能会注意到,有些细节是空白的,因为我不需要这个模型的16个细节。
您可以看到更改Detail_ID对图面的影响:
|