トップページ > 記事閲覧
DrawPolygonIndexed3DToShader_UseVertexBufferをシェーダーで描画できない?
名前:名無三 日時: 2025/11/15 15:27

続けてですいません、以下のサンプルにてDrawPolygonIndexed3DToShader_UseVertexBufferを用いてシェーダー描画を行おうと思うのですが想定通りの描画結果を得ることができません。 drive.google.com/file/d/1txi5Qq7jG_aFEKc_eO0HPyXogMGwZrYC/view?usp=sharing 想定しているのは、PS_SoftShadow.hlsl(中身はごちゃごちゃしていますが赤一色で出力するシェーダー)を通しているので画面中がまだらに赤丸でおおわれる形ですが、 実際にはシェーダーを用いた描写は特にされずとなってしまいます(確認用の通常描画された白丸でおおわれます)。 こちら原因わかりますでしょうか…
メンテ

Page: 1 |

Re: DrawPolygonIndexed3DToShader_UseVertexBufferをシェーダーで描画できない? ( No.1 )
名前:管理人 日時:2025/11/16 00:01

プログラムを拝見しました 完全には把握できていないのですが、DrawPolygonIndexed3D_UseVertexBuffer と DrawPolygonIndexed3DToShader_UseVertexBuffer で 同じ頂点バッファハンドルを使用していますでしょうか? 頂点バッファハンドルを使用するという点では DrawPolygonIndexed3D_UseVertexBuffer と DrawPolygonIndexed3DToShader_UseVertexBuffer は 同じですが、頂点バッファの内容は DrawPolygonIndexed3D_UseVertexBuffer は DX_VERTEX_TYPE_NORMAL_3D で作成された頂点バッファで、 頂点データの内容は VERTEX3D である必要があり、DrawPolygonIndexed3DToShader_UseVertexBuffer は DX_VERTEX_TYPE_SHADER_3D で作成された 頂点バッファで頂点データの内容は VERTEX3DSHADER である必要があります 拝見したプログラムでは頂点バッファは DX_VERTEX_TYPE_NORMAL_3D で作成され、データも VERTEX3D として代入されているようですので、 この形で作成された頂点バッファは DrawPolygonIndexed3D_UseVertexBuffer でのみ正常に使用できる、ということになります DrawPolygonIndexed3DToShader_UseVertexBuffer で使用される場合は DX_VERTEX_TYPE_SHADER_3D で作成して、頂点データは VERTEX3DSHADER として 代入するようにしてください m(_ _)m
メンテ
Re: DrawPolygonIndexed3DToShader_UseVertexBufferをシェーダーで描画できない? ( No.2 )
名前:名無三(解決) 日時:2025/11/16 10:42

すいません、ありがとうございます!想定通りの描画結果を得ることができました
メンテ

Page: 1 |

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

   クッキー保存