目的:写一份sl(shandering language)代码可以在桌面、手机等终端平台运行,不需要为不同平台写不同的代码
无法跨平台的原因:桌面和手机对sl的版本支持是不同的。如果要跨平台需要找到他们共同支持的版本,或者自动监测平台选择不同的版本。
比如:桌面可以支持120,手机就没有该版本,有的手机可以支持320 es
桌面不支持300,支持300 es
桌面不支持 120 es
手机不支持 120及120 es
手机支持100
桌面不支持100
着色器版本 | 桌面程序 | Android程序 |
#version 100 | 不支持 | 支持 |
#version 110 | 支持 | 不支持 |
#version 120 | 支持 | 不支持 |
#version 120 es | 不支持 | 不支持 |
#version 130 | 支持 | 不支持 |
#version 320 es | 支持 | |
#version 320 es compatibility | 不支持 |
写一个shader需要考虑以下几个方面,否则很容易出错。
平台 版本 内置变量 函数