GPT Image 2.5 Flare & Sunburst sind jetzt auf EvoLink verfügbarGPT Image 2.5 testen
Eine Glasebene trennt glatte und facettierte Flächen einer Metallkugel
Anwendungsfälle

Grafikfehler mit Code und Screenshots systematisch debuggen

EvoLink Team
EvoLink Team
Produktteam
16. Oktober 2026
6 Min. Lesezeit

Ihr Objekt wird an der falschen Stelle angezeigt, aber der Shader wird kompiliert. Ein Screenshot zeigt das Symptom; Der Code zeigt mehrere plausible Ursachen. Die Aufforderung an die KI, „das Bild zu reparieren“, ohne Kamera, Matrizen oder erwartetes Ergebnis, fördert eine überzeugende Vermutung.

Stellen Sie eine reproduzierbare Szene bereit und fordern Sie jeweils eine testbare Hypothese an. Vergleichen Sie Pixel und Ausführungsstatus aus derselben Revision und entscheiden Sie dann mithilfe eines numerischen Tests oder eines Rendertests, ob der vorgeschlagene Fix den Fehler behebt.

Bereiten Sie ein Rendering-Belegpaket vor

Beziehen Sie den Renderer/die API, relevante Shader-Stufen, Uniform-Werte, Geometrie, Ansichtsfenster, Kamera, erwartetes Ergebnis, tatsächlichen Frame und Reproduktionsaktion ein. Zeichnen Sie Grafikfehler und Kompilierungs-/Link-Diagnosen als Beobachtungen auf, nicht als Zusammenfassung mit der Aussage „Alles ist in Ordnung“.

BelegBenötigter InhaltWas das Bild allein nicht belegt
Soll- und Ist-BildGleiche Kamera und Auflösung, markierter FehlerbereichWelche Transformation oder welcher Zustand die Ursache ist
Shader und UniformsExakter Stand, Matrixkonvention, WerteOb die Anwendung die vorgesehenen Werte übertragen hat
Draw-KonfigurationGeometrie, Attributlayout, Tiefen-/Culling-/Blend-ZustandWelche Objekte tatsächlich gezeichnet wurden
ReproduktionMinimale Szene und SchritteOb der Patch auch eine andere Szene korrigiert

Eine fehlende Textur und eine falsche Beleuchtung können in Miniaturbildgröße ähnlich aussehen. Stellen Sie, wo möglich, einen unkomprimierten Ausschnitt bereit und vermeiden Sie den Wechsel der Kamera zwischen den Vergleichsbildern.

Ein Beispiel für eine Transformationsreihenfolge mit einer überprüfbaren Erwartung

Die fiktive Szene verwendet eine Spaltenvektormultiplikation. Positionen müssen sich in dieser Reihenfolge vom Objektraum durch Modell-, Ansichts- und Projektionstransformationen bewegen. Der beabsichtigte Ausdruck ist projection * view * model * position, wobei die Transformation ganz rechts zuerst angewendet wird.

Angenommen, der Shader enthält:

gl_Position = uProjection * uModel * uView * vec4(position, 1.0);
Der mitgelieferte Vertrag besagt, dass das Modell x um 2 verschiebt, die Ansicht um 90 Grad um z dreht und die Projektion x und y um 0,2 skaliert. Für den lokalen Punkt (1,0,0,1) ist das beabsichtigte Clip-Ergebnis (0,0.6,0,1):
Model:      (1,0) -> (3,0)
View:       (3,0) -> (0,3)
Projection: (0,3) -> (0,0.6)
Wrong order: View (1,0)->(0,1), Model ->(2,1), Projection ->(0.4,0.2)
Diese Arithmetik testet die bereitgestellte Hypothese unabhängig davon, ob das Bild attraktiv aussieht. Khronos beschreibt die Phasen der Vertex-Transformation. Das Matrixlayout im Hostspeicher und die Multiplikationskonventionen müssen noch selbst überprüft werden. Das Ändern der Reihenfolge ist nicht für jeden Renderer eine universelle Reparatur.

Fordern Sie eine Hypothese, eine Reproduktion und einen minimalen Patch an

Untersuchen Sie die angegebene Rendering-Diskrepanz.
Verwenden Sie den Shader, den Hoststatus, das erwartete Verhalten, den tatsächlichen Frame und die Revision.
Behandeln Sie Bilder als Beobachtungen und nicht als Beleg einer bestimmten Grundursache.

Rückgabe:
1. beobachtetes Symptom und die Belege dafür;
2. Rangfolge der Hypothesen mit jeweils einem Unterscheidungstest;
3. der kleinste Test für die Leithypothese;
4. ein Patch nur, wenn der Test die Behauptung stützt;
5. fehlende Uniformen, Zustände oder Kontexte, die eine Schlussfolgerung verhindern.

Verwenden Sie die angegebene Matrix-/Vektorkonvention.
Schreiben Sie den Renderer nicht neu. Verändern Sie die Kamera nicht, um den Fehler zu verdecken.
Behaupten Sie nicht, Tests ausgeführt zu haben, wenn Sie diese lediglich vorgeschlagen haben.
Eingaben: Belegpaket und erforderlicher Transformationsvertrag.

In diesem Beispiel lautet der Kandidaten-Patch:

gl_Position = uProjection * uView * uModel * vec4(position, 1.0);
Verwenden Sie auf der EvoLink Gemini 4-Seite den Agent- oder API-Pfad für die Codeüberprüfung. Fügen Sie das tatsächliche Bild nur im dokumentierten Bildformat. Sie können ein anderes Modell über dasselbe Gateway mit demselben Belegpaket vergleichen. Die Übereinstimmung zwischen Modellen ersetzt nicht den Test.

Geben Sie für den ersten Versuch Matrixkonvention und fehlerhaften Shader an. Fordern Sie eine Hypothese und einen minimalen Patch an; unterscheiden Sie mit dem Zahlentest (0,0.6) von (0.4,0.2), bevor Sie das reale Bild prüfen.

Führen Sie eine kleine numerische Prüfung durch, bevor Sie das Bild beurteilen

Das folgende JavaScript spiegelt den zweidimensionalen Teil der Transformationen dieses Beispiels wider:

const model = ([x, y]) => [x + 2, y];
const view = ([x, y]) => [-y, x];
const projection = ([x, y]) => [x * 0.2, y * 0.2];
const correct = projection(view(model([1, 0])));
const wrong = projection(model(view([1, 0])));
if (Math.abs(correct[0]) > 1e-9 || Math.abs(correct[1] - 0.6) > 1e-9) {
  throw new Error("Unexpected reference transform");
}
if (Math.abs(wrong[0] - correct[0]) < 1e-9 &&
    Math.abs(wrong[1] - correct[1]) < 1e-9) {
  throw new Error("Fixture does not distinguish transform order");
}
Dies validiert die Arithmetik, nicht den Upload der Uniform-Werte an die GPU oder das gelieferte Rendering. Überprüfen Sie für WebGL die tatsächliche Matrix Uniform API und ihre Layoutanforderungen. Rendern Sie dann die minimale Szene mit fester Kamera, Auflösung und Status und vergleichen Sie den Testpunkt und die Objektposition vorher und nachher.

Wenn derselbe Screenshot einen weiteren Fehler bedeuten könnte

SymptomUnterscheidender Test
Position ändert sich mit KamerabewegungTransformationen und übertragene Werte an einem bekannten Punkt prüfen
Objekt verschwindet von einer SeiteVertex-Reihenfolge, Culling und Blickrichtung prüfen
Position stimmt, Verdeckung nichtTiefenbuffer, Löschen und Vergleichszustand prüfen
Textur gedehnt oder gespiegeltUV-Koordinaten, Bildausrichtung und Samplerdaten prüfen
Nur Displays mit hoher Pixeldichte betroffenDrawing-Buffer-Größe, Viewport und CSS-Größe vergleichen

Ändern Sie jeweils eine Bedingung. Durch das Deaktivieren des Cullings wird möglicherweise die Geometrie angezeigt, es stellt jedoch nicht sicher, dass das Deaktivieren die richtige endgültige Lösung ist. Speichern Sie das Experiment und seine Interpretation separat.

Behalten Sie eine Regressionsszene mit dem Fix bei

Behalten Sie einen Fall bei, in dem Translation und Rotation nicht kommutieren; Identitätsmatrizen würden den Fehler in diesem Beispiel verbergen. Fügen Sie normale Kamerabewegung und repräsentative Geometrie hinzu, nachdem der Minimalfall abgeschlossen ist. Vergleichen Sie dieselbe Szenenrevision und notieren Sie alle verbleibenden Artefakte als separates Problem.

Wenn es bei dem Streit darum geht, ob die Feststellung eines Prüfers gültig ist, verwenden Sie den Workflow zur Prüfung von Code-Review-Befunden.

FAQ

Kann ein Screenshot die genaue Ursache identifizieren?

Normalerweise liefert es ein Symptom und einen Ort. Der Code, der Zustand und die Reproduktion unterscheiden konkurrierende Ursachen.

Belegt ein kompilierter Shader, dass die Mathematik korrekt ist?

Nein. Gültige Ausdrücke können Transformationen in der falschen Reihenfolge anwenden.

Sollte ich jeden vorgeschlagenen Patch auf einmal ausprobieren?

Verwenden Sie jeweils eine Hypothese und testen Sie sie, damit das Ergebnis eine interpretierbare Ursache hat.

Verifiziert die JavaScript-Prüfung die GPU-Ausgabe?

Es überprüft die angegebene Arithmetik. Rendering und Host-Status-Validierung sind separate Schritte.

Soll das Modell das gesamte Repository erhalten?

Beginnen Sie mit der Szene und dem relevanten Zustand, die zur Reproduktion der Nichtübereinstimmung erforderlich sind. Fügen Sie Abhängigkeiten hinzu, wenn eine Hypothese sie erfordert.

Was gehört in den endgültigen Fehlerbericht?

Überarbeitung, Eingaben, erwartetes und beobachtetes Verhalten, Experiment, akzeptierter Patch, Regressionsprüfungen und verbleibende Unsicherheit.

Quellen

KI-Modelle über eine einheitliche API anbinden

Vergleichen Sie Modelle und aktuelle Preise. Integrieren Sie das passende Modell anschließend anhand der API-Dokumentation.