关于着色器教程系列后续安排
Minecraft 的着色器教程难点其实只在于对其渲染管线特性的研究。Mojang 虽然给原版开发者提供了修改着色器的方法,但并没有公开渲染管线的细节,而且许多更改并不写在更新日志中。这导致认真介绍管线特性使得十分困难,可能刚写完的内容就被 Mojang 更改了。
于是为了传达更加稳定和通用的知识,教程系列的主要任务被分为下面几类:
- 可编程着色器的基本流程:基本上是任何一款3D游戏都通用的那些知识
- Minecraft 管线的结构:核心着色器和后处理着色器
- 图形学话题:色彩、采样、信号、图像处理、非真实感渲染、真实感渲染等
- GLSL编码知识:GLSL语法、内建变量、采样器
- 原版模组开发trick:由于管线自由度达不到要求而不得不采取的黑科技
经历过 “基本流程” 篇洗礼的读者应该已经感受到了入门着色器 —— 或者说图形学 —— 相比入门数据包来说是更加硬核的。但另一方面,很多技巧实在是难以单独成篇但又十分关键,目前我只能将它们分散到各个篇目内介绍,通过一些更系统性的话题来引入这些技巧的使用。
目前系列教程主要分三个板块:
着色器 基础篇 :主要介绍的是原版管线的特性或者开发 Minecraft 着色器需要掌握的基本技巧。
着色器 实践篇:通过一些话题或者实例介绍问题分析和代码实现的过程,并在此过程中发现各种管线限制并通过各种技巧绕过它。
着色器 进阶篇:主要涉及图形学深度话题以及制作原版光影的技术储备。
因此,即使一些专题看上去和你要做的功能无关,本人依旧推荐阅读这些篇目。
此外,关于文章中的格式问题,内容问题等,欢迎通过 Feature 评论、Github Issue、或 qq 群 619554614 等渠道指出。我们也期待有更多愿意维护不同版本管线数据和查阅源码的合作者。