2016-06-04 19 views
0

Ich arbeite gerade an einer 2D Game Engine namens Regula. Ich habe gerade ein Batch-Rendering-System fertiggestellt, das 2D-Texturen, die ihm in 32 Stücken übergeben wurden, rendert. Beim Testen seiner Fähigkeit, über 32 Texturen zu rendern, habe ich festgestellt, dass die gerenderten Texturen zu pulsieren scheinen. Der Effekt ist unerwünscht und sehr ärgerlich. Es scheint mehr zu passieren, wenn sich die Kamera bewegt. Außerdem haben die Texturen gelegentlich kleine Artefakte, wenn sich die Kamera an einer bestimmten Position befindet. Ich habe versucht, das Problem seit einiger Zeit zu beheben, aber ich konnte nicht erfolgreich sein.OpenGL 2D Texturen jittering/pulsing

Here is a rather boring video illustrating the effect.

Sie können den gesamten Quellcode der Engine in Regulas GitHub-Repository here finden. Die Dateien von intrest sind:

  • Regula \ Regula \ Inc \ Regula \ Graphics \ BatchRenderer.h
  • Regula \ Regula \ Src \ Graphics \ BatchRenderer.cpp
  • Regula \ RegulaTestBench \ Inc \ Spiel .h
  • Regula \ RegulaTestBench \ Src \ Game.cpp
  • auch vielleicht die Camera2D Klasse in Regula \ Graphics
  • Potentiallt die ShaderManager Klasse
  • o r die Shadern in Regula \ RegulaTestBench \ Resources \ Shaders \ DefaultSprteShader.vert/frag

Jede Hilfe wäre sehr dankbar, danke.

+1

Möglicherweise haben Sie Gleitkommaunterlauf oder Abbruchfehler. – Dan

Antwort

0

Die meisten Leute nicht oder vergessen, V-Sync zu aktivieren. Versuchen Sie, glfwSwapInterval (1) zu aktivieren, wenn Sie ein Fenster erstellen.

+0

Hey, ich habe versucht, V-Sync aktivieren, aber leider bleibt das Problem bestehen. Entschuldigung für die Verspätung war ein wenig beschäftigt, nur die High School abgeschlossen. –