2012-01-05 13 views
1

私は、自動移植性テストに関する私の修士論文を書いていて、ゲーム開発者がOpenGLとDirectXの両方をサポートするゲームを開発しているときに、理論的には、ゲーム内の特定のシーケンスの自動実行中に画面を記録し、OpenGLとDirectXの両方の記録を分析することができますが、これを不可能にする技術的側面はありますか?ゲーム開発:OpenGLとDirectXの自動テスト

答えて

2

私が考えることができる最も近いことは、これらの行に沿って何かをするWineのテストです。

残念ながら、このような適切なテストはできません。テストはシステムの状態に大きく依存しており、実装はピクセルが同一であることが保証されていません。 DirectXは、多くのテスト用途に使用できるリファレンス実装を提供していますが、OpenGLに相当するものはわかりません。

画面の記録には、実行方法によってはさらにエラーが発生します。私が見たテストでは、イメージをレンダリングし、次にテクスチャデータから作業します(スクリーンレコーディングに似ていますが、単一フレームで、より正確には可能性があります)。それでも、全体的にかなりのエラーが発生しやすく、遅くなる可能性があります。

1

OpenGLとDirectXレンダラーのレンダリング結果を比較して、同じシーンをレンダリングしようとしています。

私が考えることができるのは、シーンを両方のレンダラーのテクスチャにレンダリングし、後で比較するために非圧縮で保存するか、テクスチャとシェーダの両方を使ってピクセル単位でレンダリングする中間レンダリングパス - 後で評価される別のテクスチャとの差。

しかし、このような比較の有用性は、ユーザーのエラーの重要性を評価するだけでなく、実装がわずかに不一致であるか実際に目に見える成果物であるかを自動的に判断することは難しい知覚。

これはすでに、両方のレンダラを正確に同じフレームレートとカメラ位置で動作させることができると想定していますが、これはありそうもありません。

私は実際には有用な情報を見つけるために説明するために、エラー画像に多くのノイズとオフセットがあると思います。

+0

はい、私を正しく理解しました。フレームレートなどは確かにテストをより困難にする多くの変数を導入します。もちろん、2つの特定の画像がある特定の量だけ異なる場合、人間の査読者のために画像が送信されるように、公差設定が可能である。残念なことに、自動プロセスがエラーを起こしやすくなる可能性があるため、実装するには十分な利益が得られていない可能性があります。 –

0

さまざまなグラフィックチップで約15年前に行われた画面比較を知っていますが、画像品質の指標を検索する必要があります。