2016-07-18 6 views
1

cgの構造体は、パイプラインのセマンティクスを宣言する以外のものに使用できますか?関数から構造体を返します

私はUnity3Dを使用しています。このコードは、暗黙のうちに「Implicit/Rose」のエラー:「PetalData」の48行目(d3d11上)の再定義をスローします。

どうすればいいですか?私は何かを逃していますか、それとも単なるUnityでサポートされていない使い方ですか?

struct PetalData { 
    half radius; 
    half2 center; 
} 

PetalData GetPetalData (half petalIndex, half totalPetals) { 
    half p = petalIndex/totalPetals; 
    PetalData petal; 
    petal.radius = 0.03 * SShape(p) + 0.01; 
    petal.center = sqrt(p) * AngleToDir(petalIndex); 
    return petal; 
} 

half PetalField (half2 topology, PetalData petal) { 
    half d = distance(topology, petal.center); 
    d /= petal.radius; 
    d = 1 - d; 
    d *= _Ramp; 
    return d; 
} 

答えて

1

これを正しく読んでいれば、構造体の定義にはセミコロンを終える必要があると思います。

struct PetalData { 
    half radius; 
    half2 center; 
}; 
+0

はい、そうでした。それはそこに1つを置くことを非常に扱いにくいと感じる。ありがとう –

+0

あなたはエラーが何を意味するか知っていますか?私はなぜそれが問題なのかがはっきりしていないのだろうと思う。もう一度、私はユニティシェイダーのエラーが完全に信頼できないことに慣れています –

関連する問題