将碎片着色器(在GLSL中)转换为金属着色器代码



以下代码需要在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的自动转换器。

最新更新