ฉันได้รับการยอมรับจากการพัฒนาแบบทดสอบด้วยการขับเคลื่อน (TDD) เมื่อไม่นานมานี้และมันก็มีผลกระทบที่ยอดเยี่ยมต่อผลลัพธ์การพัฒนาของฉันและความยืดหยุ่นของโค้ดเบสของฉัน ฉันต้องการขยายวิธีการนี้ไปยังงานเรนเดอร์บางตัวที่ฉันทำใน OpenGL แต่ฉันไม่สามารถหาวิธีการที่ดีได้
ฉันจะเริ่มต้นด้วยตัวอย่างที่เป็นรูปธรรมเพื่อให้เราทราบว่าฉันต้องการทดสอบประเภทใด สมมติว่าฉันต้องการสร้างคิวบ์ยูนิตที่หมุนรอบแกนบางส่วนและฉันต้องการให้แน่ใจว่าสำหรับเฟรมจำนวนหนึ่งเฟรมแต่ละเฟรมจะแสดงผลอย่างถูกต้อง
ฉันจะสร้างกรณีทดสอบอัตโนมัติได้อย่างไร โดยเฉพาะอย่างยิ่งฉันยังสามารถเขียนกรณีทดสอบก่อนที่จะเขียนรหัสใด ๆ เพื่อแสดงผล cube (ตามวิธีปฏิบัติ TDD ตามปกติ) เหนือสิ่งอื่นใดฉันต้องการตรวจสอบให้แน่ใจว่าขนาดตำแหน่งและการวางแนวของลูกบาศก์ แก้ไขในแต่ละเฟรมที่แสดงผล ฉันอาจต้องการตรวจสอบให้แน่ใจว่าสมการแสงในเฉดสีของฉันนั้นถูกต้องในแต่ละเฟรม
วิธีเดียวที่มีประโยชน์จากระยะไกลสำหรับสิ่งนี้ที่ฉันได้พบเกี่ยวข้องกับการเปรียบเทียบผลลัพธ์ที่แสดงผลไปยังเอาต์พุตอ้างอิงซึ่งโดยทั่วไปจะกีดกันการฝึกฝน TDD และยุ่งยากมาก
ฉันสามารถทำตามข้อกำหนดอื่น ๆ ที่ต้องการได้ แต่ฉันเกรงว่าสิ่งที่ฉันได้ระบุไว้ไม่สามารถเข้าถึงได้