Xcode 如何从金属着色器中的上一个片段传递中获取最大X(红色)值?
我有两张通行证:Xcode 如何从金属着色器中的上一个片段传递中获取最大X(红色)值?,xcode,shader,arkit,meta,metalkit,Xcode,Shader,Arkit,Meta,Metalkit,我有两张通行证: 节点\u查找\u最大\u通行证 节点通过 如何从节点\u查找\u max\u通过获取最大值颜色 如何“生成/设置”这个全局变量AXXFloatForeveryFrame变量,在节点上用color.x中的最大值更新它,然后在其节点片段中的下一个过程节点(pass中访问这个全局变量AXXFloatForeveryFrame fragment half4 node_find_max_fragment(NodeColorInOut vert [[stage_in]]) {
fragment half4 node_find_max_fragment(NodeColorInOut vert [[stage_in]])
{
float4 color = float4((vert.center.x + 1.0) * 0.5 , (vert.center.y + 1.0) * -0.5, 0.0, 0.0);
//I wanted to do something like:
if(globalVariableMaxXFloatForEveryFrame <= color.x)
globalVariableMaxXFloatForEveryFrame = color.x; // update higher value
return half4(color);
}
fragment half4 node_fragment(NodeColorInOut vert [[stage_in]])
{
float4 color = float4((vert.center.x + 1.0) * 0.5 , (vert.center.y + 1.0) * -0.5, 0.0, 0.0);
//Use calculated Max X from previous pass
color.x = globalVariableMaxXFloatForEveryFrame;
return half4(color);
}