unreal所有源码很长,几百万行,一辈子也抄不完。然而,ue4.0版本的runtime渲染相关部分大概11万行左右,再循序渐进逐版本抄写。
可以从果推因,把涉及到shader的文件抄一抄。
比如LoadShaderSourceFileChecked(TEXT(“/Engine/Private/MaterialTemplate.ush”), GetShaderPlatform(), MaterialTemplate);
可知MaterialTemplate.ush文件关联HLSLMaterialTranslator.cpp,把这个抄一抄就可以了。再把这个文件的各个函数设断点,看看与哪些关联,调试下。以此类推。