2 Stimmen

unit-testing einer openGl-Anzeige

Ich habe eine OpenGL-Anzeige, die ich möchte, um Unit-Tests für zu schreiben. Allerdings bin ich nicht sicher, welche Art von Tests geschrieben werden sollte, um sicherzustellen, dass meine Anzeige richtig funktioniert? Ich weiß, ich kann testen, dass der Kontext erfolgreich erstellt wurde. Da es sich jedoch um ein grafisches Element handelt und die korrekte Funktionsweise davon abhängt, was angezeigt wird, muss alles andere manuell getestet werden? Sollte ich nur eine Reihe von Aufrufen zu glGetError verwenden?

Dies ist wahrscheinlich eine dumme Frage, aber ich dachte, ich würde fragen, um zu sehen, was Sie alle zu sagen hatten.

2voto

Reed Copsey Punkte 536986

Das hängt davon ab, was Sie tun.

Sie können die Aufrufe selbst testen, indem Sie glGetError usw. verwenden. Dies ist oft nützlich, aber oft nur wenig nützlich.

Ich habe dies auch schon getan, indem ich eine Reihe von Bildern im Voraus geschrieben und sie als Referenzbild verwendet habe. Sie können dann Ihre Anzeige zu behandeln, und Dinge tun, wie Render zu einer Textur und tun ein Pixel für Pixel Vergleich gegen Ihre Referenzbilder. Seien Sie sich nur bewusst, dass Sie möglicherweise ein gewisses Maß an "Unschärfe" in Ihrem Vergleich haben müssen, da verschiedene Treiber für dasselbe Rendering nicht pixelidentisch sein können.

VTK verwendet diesen Ansatz zum Beispiel bei ihren Dashboard-Tests. Viele der Tests schreiben ein Bild und vergleichen es mit dem "richtigen" Referenzbild.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X