Shader源码 对于一个游戏引擎需要有一个灵活的着色材质系统,较旧的做法一般是直接提供glsl源码,在程序运行时读取并编译。但这种做法难以纳入到资产管理系统中来,也无法更加灵活的变更。 在引擎内分为shader源码、shader资产、材质。三种着色相关内容。 shader源码被视为和C++同一级别的源码,这里定义ShaderPass的概念为API层中的ShaderProgram以及相关管线状态的集合,每一个逻辑级别的ShaderPass都拥有多个HLSL和json的配置文件,例如: Lit.vs.hlsl Lit…