Metasequoia BBS

| New message | Normal | Tree |
Status
Tag
Keyword
[6199] ジオメトリシェーダーについて / sam42
[Question] Response
はじめまして。sam42と申します。

Data/Shader/pmd.hlsl内のジオメトリシェーダーを改変して挙動を確認した所、変更が反映されない用に見受けられました。
※頂点・ピクセルシェーダは反映されることを確認しております。

下記のようにコードを改変しても何も反映されません。
[maxvertexcount(4)]
void GSpatch(lineadj VS_OUTPUT input[4], inout TriangleStream<VS_OUTPUT> stream)
{
    VS_OUTPUT output = (VS_OUTPUT)0;
    stream.Append(output);
    stream.Append(output);
    stream.Append(output);
    stream.Append(output);
    stream.RestartStrip();
}

標準以外のHLSLシェーダは公式サポート外だと言うのは承知しております。
ジオメトリシェーダーは定義があるだけでまだ使っていないのでしょうか?
2015-12-14 22:21
[6204] Re: ジオメトリシェーダーについて / Administrator
GSpatchは関数名が示す通り、patch(曲面)に対して適用されます。
ジオメトリシェーダは標準機能に必要な分のみ実装しているため、汎用的な目的での利用には難しいと思います。
2015-12-15 15:24
[6205] Re: ジオメトリシェーダーについて / sam42
ご返答ありがとうございます。

>GSpatchは関数名が示す通り、patch(曲面)に対して適用されます。
>ジオメトリシェーダは標準機能に必要な分のみ実装しているため、汎用的な目的での利用には難しいと思います。

承知いたしました。
いったんはジオメトリシェーダーの利用はあきらめて、
プラグインでどうにかならないか検討してみます。

ありがとうございました!
2015-12-15 20:15