我最近一直在接受测试驱动开发(TDD),它对我的开发输出和代码库的弹性产生了出色的影响。我想将此方法扩展到我在OpenGL中所做的一些渲染工作,但是我一直找不到任何好的方法。
我将从一个具体的例子开始,以便我们知道我想测试什么类型的东西;可以说,我想创建一个绕某个轴旋转的单位立方体,并且要确保对于一定数量的帧,每个帧都可以正确渲染。
我如何为此创建一个自动化测试用例?最好,我什至能够编写一个测试用例,然后再编写任何代码以呈现多维数据集(按照常规的TDD惯例。)除其他外,我想确保多维数据集的大小,位置和方向是在每个渲染帧中正确。我什至可能要确保着色器中的光照方程在每帧中都是正确的。
我遇到的唯一对此有用的远程方法是将渲染的输出与参考输出进行比较,这通常会妨碍TDD的实践,而且非常麻烦。
我可以继续执行其他所需的要求,但恐怕我已经列出的要求已无法实现。