2016-05-16 11 views
1

シェーダを書いていて、入力にvec3を渡したいと思います。 しかし、私が見つけることができるものは、常にvec4、テクスチャ、または数値範囲のいずれかの単一のfloatを渡しています。バニラのvec3をシェーダに沿ってまとまって送ることは可能ですか?float3/vec3を単一性のプロパティを介してシェーダに渡す

Properties 
{ 
    offset ("formula Offset", Vector) = (0, 0, 0) 
} 

私が望むように動作しないようです。

Properties 
{ 
    offset ("formula Offset", Vector) = (0, 0, 0, 0) 
} 

// offset.xyz //Extract relevant data from vector 

これはちょうどいい感じていない:それは私がこれをやってきたコンパイルするために取得するには 。より良い方法がありますか?

答えて

1

プロパティをVectorとしてマークすると、4つのコンポーネントが必要です。 documentationでも:"ベクトルプロパティは4つの数字フィールドとして表示されます。"

これは実際には見た目ほど悪くはなく、最後のコンポーネントをゼロに設定するだけです。

+0

shaderの制服として宣言すると、ちょっと良く見えるボーナスが見つかりました。vec3を入れて余分な値を無視します。 Shader.setGlobalメソッドには両方の行列が含まれていますおよびVector3 –

関連する問題