我有一个 openGL 显示器,我想为其编写单元测试。但是,我不确定应该编写什么样的测试来确保我的显示器正常工作?我知道我可以测试上下文是否已成功创建。但是,因为它是一个图形元素,并且正确工作是基于显示的内容,是否其他一切都需要手动测试?我应该只使用一堆 glGetError 调用吗?
这可能是一个愚蠢的问题,但我想我会问一下,看看你们都有什么要说的。
最佳答案
这取决于你在做什么。
您可以使用 glGetError 等对调用本身进行单元测试。这通常很有用,但通常只有一点用处。
我过去也这样做过,提前写了一系列图像,并将它们用作引用图像。然后你可以处理你的显示,并做一些事情,比如渲染到纹理,并与你的引用图像进行逐像素比较。请注意,您可能需要在比较中具有一定程度的“模糊性”,因为对于相同的渲染,不同的驱动程序可能像素不相同。
VTK例如,在他们的仪表板测试中使用这种方法。许多测试编写图像并将它们与“正确”的引用图像进行比较。
关于c# - 单元测试 openGl 显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/686871/