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的编译很多时候只能在编译到目标平台后才能暴露问题

猜你喜欢

转载自www.cnblogs.com/CloudLiu/p/10442325.html