我得到了金属着色器的片段,但是我找不到内置变量的信息,比如_surface等等。
float AO = _surface.ambientOcclusion;
float lightContrib = _lightingContribution.diffuse.r;
lightContrib *= AO;
// mask of fresnel
float mask = _surface.specular.b;
float fresnel = saturate(dot(_surface.view, _surface.normal));在哪里可以找到金属着色语言中所有内置变量的定义?我甚至在苹果的规范金属着色语言规范中找不到这一点。
发布于 2018-04-02 12:32:47
它们不是由金属公开的,而是特定于SceneKit框架的。
它们是SCNShadable特性的一部分,您可以在不同入口点的文档中找到一些信息:
SCNShaderModifierEntryPointGeometrySCNShaderModifierEntryPointSurfaceSCNShaderModifierEntryPointLightingModelSCNShaderModifierEntryPointFragment<SceneKit/SCNShadable.h>头文件还包含文档和示例。
https://stackoverflow.com/questions/49609374
复制相似问题