0%

这是《如何编写OptiFine光影包》系列正文的第一篇. 本篇教程将搭建光影包编写的基本框架, 以接管 OptiFine/minecraft 自带的那些着色器, 将延迟着色真正地执行起来.

阅读全文 »

工欲善其事, 必先利其器. 私以为比起光影包的核心算法本身, 辅助性的代码以及工具代码是远为重要的. 好的工具集能帮助你快速定位 bug, 这在抓帧工具难以使用的情况下[1]是极其重要的. 本文主要介绍笔者在开发过程中产出的工具代码.

阅读全文 »

本文将首先简要回顾蒙特卡洛光线追踪算法, 随后概述 OptiFine 的工作方式, 对该算法在光影包中的实现难点进行分析, 最后对主流光线追踪光影包的实现原理进行解释.

阅读全文 »

作为一只晕 3D 症状日渐严重的 minecraft 玩家, 也许只有一个质量优秀的真实向光影包能救我狗命. 在换用了一个又一个光影包以尝试缓解症状后, 我意识到我可以比它们的作者中的绝大部分做得更好(当然不包括 SEUS PTGI. 它是当之无愧的标杆).

然而在开发过程中, 能用于参考的中文资料只有网络上的寥寥数篇入门级教程, 以及关于某些高质量光影包原理的只言片语. 为了不使来者陷入和我一样的境地, 特作此系列.

基于"进阶教程"的定位, 本教程假定读者具有基本的图形学知识, 了解光栅化渲染的流程, 掌握 glsl 浅显的运用, 具有大学本科范围内的线性代数和概率学知识. 前三者均可在这里学习.

本教程的目标是实现一个基于蒙特卡洛光线追踪且具有可用性能的 OptiFine 光影包.

预计本系列将在一年内完成. 标题致敬如何编写Shadersmod光影包系列.

About Me

计算机图(徒)形(刑)学爱好者