Re: 3.24dでのピクセルシェーダーについて ( No.1 ) |
- 名前:管理人 日時:2024/01/10 02:37
すみません、幾つかご質問させてください
1.本来どのような描画が行われる筈が、どのように正常に描画されなくなってしまったのでしょうか?
2.正常に描画できていた際のDXライブラリのバージョンは幾つでしょうか?
|
Re: 3.24dでのピクセルシェーダーについて ( No.2 ) |
- 名前:Tir 日時:2024/01/10 22:04
正常に描画できていたバージョンは3.24bです。
描画に関しては説明し難いのでメールにて添付しました。
他にも黒を透明にするマスクシェーダーも似たような感じに描画されます。
ただ、法線マップ等のピクセルシェーダーは正常に描画されてますので、
ピクセルシェーダーのみで処理するものに問題が発生していると思います
|
Re: 3.24dでのピクセルシェーダーについて ( No.3 ) |
- 名前:管理人 日時:2024/01/12 02:21
ご返答&メールありがとうございます
恐らく原因は Ver3.24d のこちらのバグ修正項目
・Windows版:DrawPolygon2DToShader 等のシェーダーを使用した2Dの描画でピクセルシェーダーに VERTEX2DSHADER 構造体の spc の値が渡されていなかったバグを修正。
に伴い、頂点シェーダーの出力が
struct VS_OUTPUT
{
float4 Position : SV_POSITION ;
float4 Diffuse : COLOR0 ;
float2 TexCoords0 : TEXCOORD0 ;
float2 TexCoords1 : TEXCOORD1 ;
} ;
↑
こちらから
struct VS_SHADER2D_OUTPUT
{
float4 Position : SV_POSITION ;
float4 Diffuse : COLOR0 ;
float4 Specular : COLOR1 ;
float2 TexCoords0 : TEXCOORD0 ;
float2 TexCoords1 : TEXCOORD1 ;
} ;
↑
こちらへ変更になったのが原因かと思います
お手数で申し訳ありませんが、ピクセルシェーダーの入力となる構造体の定義に
float4 Specular : COLOR1 ;
↑
こちらの部分を追加してみてください m(_ _;m
|
Re: 3.24dでのピクセルシェーダーについて ( No.4 ) |
- 名前:Tir(解決) 日時:2024/01/12 16:11
返答ありがとうございます。無事正常に描画される事を確認しました
|