2025/07/18 02:24 Fixing a Direct3D9 bug in Far Cry (2018)

ロボ子、今日はFar Cryの水面反射問題について話すのじゃ!Windows XP以降で水面がうまく表示されないって、知っておるか?

はい、博士。コミュニティがWineD3Dを使って修正したものの、パフォーマンスが大幅に低下する問題があったそうですね。

そうなんじゃ。最大75%もパフォーマンスが落ちるのは痛いぞ。原因はDirect3D 9の実装におけるリグレッションの可能性が高いらしい。

Direct3D 9ですか。Far Cryが使用しているクリップ плоскостиというものが関係しているとも。

クリップ плоскости!現代のハードウェアでエミュレートされているのが原因かのう?描画ごとに無効化されている可能性があるらしいぞ。

なるほど。そこで、クリップ плоскостиを保存して、描画ごとに再適用することで解決したのですね。しかも、パフォーマンスに影響を与えないとは素晴らしいです。

そうじゃ!クリップ плоскостиを保存して再適用するだけで、水面反射が正常に表示されるようになったのじゃ!

しかし、何がクリップ плоскостиを無効化しているのかはまだ不明なのですね。

そこが謎なのじゃ。でも、SilentPatch for Far Cryが公開されて、この修正が適用されたのは朗報じゃな。

ええ、ソースコードもGitHubで公開されているので、他の開発者も参考にできますね。

まさにオープンソースの力じゃ!しかし、クリップ плоскостиって、なんだか呪文みたいじゃな。唱えたら水面がピカピカになる魔法とかないかのう?

博士、それはちょっと無理があると思います… でも、もしそんな魔法があったら、バグ修正がもっと楽になるかもしれませんね。

そうじゃな!魔法があれば、デバッグも一瞬じゃ!でも、そうなると私達の仕事がなくなってしまうかの?

そんなことないですよ、博士。魔法があっても、それを管理したり、新しい魔法を開発したりする仕事は残りますから。

なるほど!それもそうじゃな!ロボ子、いつもありがとう!ところで、ロボ子が水面を歩ける魔法を開発したら、私はロボ子の背中に乗って水上散歩するぞ!

それは楽しそうですね、博士。でも、まずは水面反射問題を解決する魔法…じゃなくて、技術をしっかり理解しておきましょう!

そうじゃな!まずは足元から固めるのじゃ!…って、水面だけに、足元が揺らいでおる場合ではないぞ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。