This repository was archived by the owner on Mar 19, 2026. It is now read-only.
シャドウ uniform バッファを毎フレーム更新して影ズレを修正#82
Merged
Merged
Conversation
HOST_VISIBLE バッファの内容を毎フレーム更新できるようにする。 VulkanBuffer では vkMapMemory/NativeMemory.Copy/vkUnmapMemory で実装。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ShadowData (lightSpaceVP + inverseVP) が初期化時に一度だけ書き込まれ 毎フレーム更新されていなかったため、カメラや物体が動くと ライティングシェーダのワールド座標復元がずれて影が元の位置に残っていた。 DeferredRenderSystem: 現在のカメラ VP の逆行列でバッファを更新 StereoDeferredRenderSystem: 左右の目ごとに inverseVP を更新 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
ShadowData uniform バッファ (
lightSpaceVP+inverseVP) が初期化時に一度だけ書き込まれ、以降更新されていなかったため、カメラや物体が動くとライティングシェーダのワールド座標復元がずれて影が元の位置に残るバグを修正。変更内容
IBufferにUpdate(ReadOnlySpan<byte>)メソッドを追加VulkanBufferでvkMapMemory/NativeMemory.Copy/vkUnmapMemoryによる実装DeferredRenderSystem: 毎フレーム現在のカメラ VP の逆行列で shadow バッファを更新StereoDeferredRenderSystem: 左右の目ごとにinverseVPを更新Program.cs:DeferredRenderSystemにshadowBufferを渡すよう修正Updateメソッドを追加動作確認
dotnet build成功(0 エラー / 0 警告)dotnet test全 688 テスト合格