Unity在OpenGL模式下Shader编译报错
报错信息
GLSL compilation failed:
0(21) : error C7528: OpenGL reserves names containing '__'
双击报错VS自动打开VS, 但并未定位到错误代码所在位置
解决
字面意思: OpenGL保留的名称包含 "__" 两个下划线)
经检查报错的代码在shader的 cginc文件中,改好即可解决以上问题
总结
- 以Opengl模式打开Unity本来是为了解决PC不支持某些特殊功能(如图片单通道压缩格式)
- shader 使用cginc头文件的方式方便了开发,但也造成了维护上的困难
- Unity shader的编译很多时候只能在编译到目标平台后才能暴露问题
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">