Unreal Virtual Texture 源码导读
上一篇 《浅谈Virtual Texture》 主要是对理论知识的介绍,本篇开始对Unreal Virtual Texture的源码做一个导读。 内容包括Virtual Texture的流程和一些技术实现细节,默认你已经对Virtual Texture有一定的认识,如对技术概念有疑惑,可以先看上篇。本文会先从整体出发,介绍Unreal实现的大概内容和流程,以及结构关系,然后再深入到细节,尽量还原Unreal的设计。 一、Unreal 实现的内容 首先,先给Unreal的Virtual Texture的实现给一个大体上的介绍。Unreal是基于Software Virtual Texture,并未涉及Hardware的内容,实现了Procedural Virtual Texture,Unreal叫Runtime Virtual Texture,并未实现Adaptive Procedural Texture。地址映射使用了indirection texture的page和MIP level的映射方式。Texture Filtering方面实现了Bi-linear Filtering、Anisotropic Filtering和Tri-linear Filtering,Bi-linear Filtering是基于border来实现的,Tri-linear