0

GLSL以下の関数を変換しようとしています:

float pMod1(inout float p, float size) {
    float halfsize = size*0.5;
    float c = floor((p + halfsize)/size);
    p = mod(p + halfsize, size) - halfsize;
    return c;
}

で使用するMetal

static float pMod1( thread float &p, float size) {
    float halfsize = size*0.5;
    float c = floor((p + halfsize)/size);
    p = mod(p + halfsize, size) - halfsize;
    return c;
}

次に、それを使用します。

static float map( float3 p )
{
    p.x = pMod1(p.x,10);
    ...
}

エラーが発生しました:

非 cont 参照はベクトル要素にバインドできません

  1. この問題を解決するにはどうすればよいですか?
  2. InOutinに相当する修飾子は何Metalですか?
4

1 に答える 1