c# - 单元测试 openGl 显示

标签 c# unit-testing opengl

我有一个 openGL 显示器,我想为其编写单元测试。但是,我不确定应该编写什么样的测试来确保我的显示器正常工作?我知道我可以测试上下文是否已成功创建。但是,因为它是一个图形元素,并且正确工作是基于显示的内容,是否其他一切都需要手动测试?我应该只使用一堆 glGetError 调用吗?

这可能是一个愚蠢的问题,但我想我会问一下,看看你们都有什么要说的。

最佳答案

这取决于你在做什么。

您可以使用 glGetError 等对调用本身进行单元测试。这通常很有用,但通常只有一点用处。

我过去也这样做过,提前写了一系列图像,并将它们用作引用图像。然后你可以处理你的显示,并做一些事情,比如渲染到纹理,并与你的引用图像进行逐像素比较。请注意,您可能需要在比较中具有一定程度的“模糊性”,因为对于相同的渲染,不同的驱动程序可能像素不相同。

VTK例如,在他们的仪表板测试中使用这种方法。许多测试编写图像并将它们与“正确”的引用图像进行比较。

关于c# - 单元测试 openGl 显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/686871/

相关文章:

c - 渲染一个包含两个 VBO 的 VAO

c++ - 与计算着色器和 imageStore 的内存一致性

opengl - 从也是渲染目标的纹理中采样

matlab - 对 Simulink 模型进行集成测试

c# - 如何在 ControllerContext 中模拟 DisplayMode 以进行单元测试 c#

c# - 通过 JavaScript 在 ASP.NET/C# 循环中快速、成功地创建新窗口

c# - 使用 LINQ 加速查询

unit-testing - 如何测试setter和getter?

javascript - 为什么我的 Angular 方法没有从信号器接收到任何内容

c# - 不存在的通用参数的单元测试