新年初始, 完成了数字几何处理的课程笔记后突然有点迷茫, 不知道该怎么走. 因此总结一下2021年积累的一些想法, 希望能为2022年的研究计划确定一个大致的方向. 国家发展需要指定战略方针, 个人提升也不例外.
今年依旧希望走两条路, 分别是代数拓扑+应用的路线与几何+应用+追热点倾向的路线.
代数拓扑+应用的路线
论文Dey T K, Fan F, Wang Y. An efficient computation of handle and tunnel loops via Reeb graphs[J]. ACM Transactions on Graphics (TOG), 2013, 32(4): 1-10, 其实已经可以开始看起来了, 同调的部分应该都已经学完, 在看的过程中其实也可以查漏补缺. 代数拓扑的教材计划还是放到睡前时间再看, 争取每天抽出15分钟左右, 而计算共形几何的教材则可能会放到明年再看, 毕竟个人感觉如果能在今年完成学完书上内容的目标也还不错了. 今年给我最大鼓舞的便是UE5中用到的Metis库, 走这条路不应该考虑当下在游戏开发中的应用, 纯粹以代码表示代数拓扑为主.
几何+应用+追热点倾向的路线
由于代数拓扑在游戏开发中的应用实在极少, 为了工作上的发展, 还是需要抛弃一点理想主义. 渲染方面应该不会深入, 但是渲染的原理还是需要知道, 因此软光栅还是需要优先写完. 元宇宙是2021年突然兴起的概念, 依随元宇宙的兴起, 很多公司开始规划元宇宙渲染引擎. 由于元宇宙将真实世界与虚拟世界相融合, 几何数据量必然会空前庞大. 物体是什么形状? 如何既省空间又精确地表示这个形状? 如何从零起步为我心中所想的一个形状建模? 如何编辑现有的形状让他符合我的要求与目的? 这是几何(主要包括Geometry Processing, Geometric Modeling) 要解决的问题. 而元宇宙中的实时渲染, 很大程度上要对现有的用于渲染的几何表示方法做出改变.
$\cdot$ Mesh Shader. 这个表示方法可以说已经落地(参考Nanite), 并且已经被业界所验证了, 所以今年应该不会花太多时间在这个方案上, 还是希望能够探索其它几何表示方案.
$\cdot$ Geometry Image. 这个几何表示方法在Nanite源码被扒之前还是被许多知乎大佬看好的, 虽然现实可能有点打脸…… 顾老师也一再在他的文章强调说Nanite是基于他提出的Geometry Image思想的, 但我怀疑他根本没有去看过Nanite源码或者分享, 纯粹属于纸上谈兵, 因为Nanite是基于Mesh Shader方案提出的…… Geometry Image可能今年不会去研究, 因为目前还没有相关的Demo可供学习, 今年还是想着以学习为主, 研究为辅.
$\cdot$ 体素. 这是被探寻可能与Milo Yip两位知乎大佬看好的一种几何表示方法, 而且探寻可能大佬也放出了自己的仓库地址以供学习, 尽管是基于Metal开发的一个引擎, 但感觉还是可以用于参考. 在写完自己的软光栅以后, 应该会选择DX12进行体素引擎的开发尝试.
$\cdot$ SDF. 目前SDF还是比较多地在体素上构建的, 如去年1月份英伟达首次实现SDF实时3D渲染, 便是使用稀疏体素八叉树进行编码. 因此, 想要研究SDF, 还是应该先熟悉体素. 类似地还有Level Set与Reeb Graph, 今后都会考虑研究.
$\cdot$ PCG. qbkivlin大佬在知乎上给我推荐了Arxiv上的一篇文章Differential Geometry in Neural Implicits, 貌似有望解决PCG过程中数据失真的问题(Mesh面数过高或贴图精度不足). 大概看了一下文章, 是将离散微分几何用于神经网络中的, 并不是太感冒, 今年应该也不会深入研究, 但还是十分期待qbkivlin大佬在这方面的工作成果的分享.
总之, 新的一年, Fighting And Enjoy!