以下代码需要在Xcode中转换为Metal:
uniform sampler2D emissionTexture;
vec3 light = _lightingContribution.diffuse;
float lum = max(0.0, 1 - (0.2126*light.r + 0.7152*light.g + 0.0722*light.b));
vec4 emission = texture2D(emissionTexture, _surface.diffuseTexcoord) * lum;
_output.color += emission;
有许多免费的工具可以自动将GLSL转换为MSL。
例如Shader Playground。
MoltenVK和MoltenGL都包含GLSL到MSL的自动转换器。