Saya telah merangkul Test-Driven Development (TDD) baru-baru ini dan memiliki dampak yang luar biasa pada hasil pengembangan saya dan ketahanan basis kode saya. Saya ingin memperluas pendekatan ini ke beberapa pekerjaan rendering yang saya lakukan di OpenGL, tetapi saya tidak dapat menemukan pendekatan yang baik untuk ini.
Saya akan mulai dengan contoh nyata sehingga kita tahu hal-hal apa yang ingin saya uji; katakanlah saya ingin membuat unit cube yang berputar pada beberapa sumbu, dan saya ingin memastikan bahwa, untuk beberapa jumlah frame, setiap frame dirender dengan benar.
Bagaimana saya bisa membuat test case otomatis untuk ini? Lebih disukai, saya bahkan dapat menulis test case sebelum menulis kode apa pun untuk merender kubus (sesuai praktik TDD biasa). Di antara banyak hal lain, saya ingin memastikan bahwa ukuran, lokasi, dan orientasi kubus adalah benar di setiap frame yang diberikan. Saya bahkan mungkin ingin memastikan bahwa persamaan pencahayaan di shader saya benar di setiap frame.
Satu-satunya pendekatan yang sangat berguna untuk ini yang saya temui melibatkan membandingkan hasil yang diberikan dengan keluaran referensi, yang umumnya menghalangi praktik TDD, dan sangat rumit.
Saya dapat melanjutkan tentang persyaratan lain yang diinginkan, tetapi saya khawatir yang sudah saya sebutkan di luar jangkauan.