トップページ > 記事閲覧
3.24dでのピクセルシェーダーについて
名前:Tir 日時: 2024/01/08 12:54

お世話になります DXライブラリを最新版に更新した所、一部のピクセルシェーダーが正常に描画しなくなってしまいました 正常に描画しなくなったのはピクセルシェーダーのみを使った処理です
メンテ

Page: 1 |

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

返答ありがとうございます。無事正常に描画される事を確認しました
メンテ

Page: 1 |

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

   クッキー保存