トップページ > 記事閲覧
ピクセルシェーダーでC++側から設定するintを宣言できない
名前:takatwu 日時: 2013/12/08 19:36

いつもお世話になっております。 現在DXライブラリで自作のシェーダーを使用しています。 ピクセルシェーダーでC++側から設定する値を宣言しようと思ったのですが float a : register( c0 ) ; int b : register( i0 ) ; bool c : register( b0 ) ; 上のうち int b と bool c のシェーダーでコンパイルエラーが発生します。 シェーダーのバージョンは3.0を使用しています。 解決方法は無いでしょうか?
メンテ

Page: 1 |

Re: ピクセルシェーダーでC++側から設定するintを宣言できない ( No.1 )
名前:管理人 日時:2013/12/09 00:35

なんと DirectX9 で使用できる シェーダーモデル 2.0 や 3.0 の HLSL では float 型の 定数以外を使用することはできません HLSL には int型や bool型がありますが、内部では全部 float型に置き換えられています なので i0 や b0 は使用できません、int型や bool型でも c0 などの float型の定数を 使用する必要があります アセンブラシェーダーでしか int型や bool型が使用できないので、恐らく殆ど使用されて いないと思います・・・
メンテ
Re: ピクセルシェーダーでC++側から設定するintを宣言できない ( No.2 )
名前:takatwu(解決) 日時:2013/12/09 19:20

intやboolは使用できませんでしたか・・・ floatで代用しようと思います、ありがとうございました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存