最近、テスト駆動開発(TDD)を採用していますが、開発成果とコードベースの復元力に素晴らしい影響を与えました。このアプローチをOpenGLで行うレンダリング作業の一部に拡張したいと思いますが、これに対する良いアプローチを見つけることができませんでした。
具体的な例から始めて、どの種類のことをテストしたいかを理解します。ある軸を中心に回転する単位立方体を作成し、いくつかのフレームで各フレームが正しくレンダリングされるようにしたいとしましょう。
自動テストケースを作成するにはどうすればよいですか?できれば、キューブをレンダリングするコードを書く前にテストケースを書くことさえできます(通常のTDDの慣例に従って)。とりわけ、キューブのサイズ、位置、および向きがレンダリングされた各フレームで修正します。シェーダーのライティング方程式が各フレームで正しいことを確認したい場合もあります。
私が出会ったこれに対する唯一のリモートで有用なアプローチは、レンダリングされた出力を参照出力と比較することです。これは一般にTDDの実践を排除し、非常に面倒です。
他の必要な要件については進めることができますが、既にリストした要件は手の届かないところにあると思います。