Visual Trace/Debugging

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
adapto
Beiträge: 24
Registriert: 22.07.2012, 01:12
Alter Benutzername: adapto

Visual Trace/Debugging

Beitrag von adapto »

Hallo *,

hat jemand eine Idee wie ich am besten visualisiert Debuggen kann. Also zB wenn ich ein Objekt rendere moechte ich das zuerst nur Polygon 1 dargestellt wird, dann 2, dann 3... Ich verstehe noch nicht wie am besten aus der Render-Loop herausspringen kann um dann den aktuellen Status zu zeichnen um dann wieder in die Render-Loop hineinzuspringen um dort weiter zu machen. Gibt es dafuer evtl eine API oder andere Hilfen?

Danke und Gruss,
adapto
Benutzeravatar
Schrompf
Moderator
Beiträge: 4886
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Visual Trace/Debugging

Beitrag von Schrompf »

Entweder PIX oder NVidia NSight. Letzteres integriert sich prima in Visual Studio, hat aber sein eigenes Rudel Macken.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
adapto
Beiträge: 24
Registriert: 22.07.2012, 01:12
Alter Benutzername: adapto

Re: Visual Trace/Debugging

Beitrag von adapto »

Danke. Ich werde die Programme ausprobieren.
Ich benutze uebrigens OpenGL und habe eine ATI Karte. Ich weiss nicht ob es eine Rolle spielt bei den Anwendungen. Allerdings waere es mir lieber, wenn ich eine API finden wuerde die sowas macht und die ich selbst aufrufen kann aus meinem Code um zB bestimmte Polygone zu markieren usw.
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Visual Trace/Debugging

Beitrag von eXile »

Primitive lassen sich nicht einzeln, hintereinander anzeigen; sondern sie werden immer in einem Rutsch gerendert. Allerdings kann man die einzelnen Draw-Calls durchsteppen.

PIX funktioniert nur mit Direct3D; Nvidia Nsight bietet den vollen Feature-Umfang nur mit Direct3D und zwei voneinander getrennten Rechnern. Beispielsweise gibt es unter Nsight für OpenGL kein Shader-Debugging, kein Frame-Profiling und keine Pixel-History.

Ich glaube, du wirst mit dem gDEBugger und dem GPU PerfStudio 2 glücklicher werden.
adapto
Beiträge: 24
Registriert: 22.07.2012, 01:12
Alter Benutzername: adapto

Re: Visual Trace/Debugging

Beitrag von adapto »

Danke. Die beider Tools sehen vielversprechend aus, und ich werde sie morgen frueh testen.
Ich muss nochmal auf das "durchsteppen" der Draw-Prozedur zurueckkommen. Gibt es keine Moeglichkeit meine "Transformation" auszufuehren evtl Polygone farblich zu markieren und dann wieder in die Draw-Prozedur zu springen und im naechsten Step einen Schritt weiter zu gehen mit der "Transformation" und dann wieder die Draw-Prozedur aufrufen usw... Ich koennte das per Hand machen, aber dann muesste ich alle States und Variablen der "Transformation"-Prozedur speichern. Es waere toll wenn das automatisch gehen wuerde.
Benutzeravatar
Schrompf
Moderator
Beiträge: 4886
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Visual Trace/Debugging

Beitrag von Schrompf »

Schau Dir doch erstmal die genannten Tools an. Von den GL-Programmen weiß ich es nicht, aber die DX-Tools erlauben ein Durchsteppen jedes einzelnen Fragment Shaders und der x Vertex Shader, Geometrie-Shader und was sonst noch nötig war, bis genau dieser ausgewählte Pixel im Renderziel ankam. Du könntest das aber auch von Hand schreiben, indem Du einfach aus Deinen IndexBuffer gezielt nur ein Dreieck adressierst. Ich sehe darin aber keinen Sinn, wenn man so viel bessere Tools bereits zur Verfügung hat.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
adapto
Beiträge: 24
Registriert: 22.07.2012, 01:12
Alter Benutzername: adapto

Re: Visual Trace/Debugging

Beitrag von adapto »

Ich muss sagen, dass ich von dem GPUPerfStudio sehr begeistert bin! Allerding erfuellt es nicht meine Ansprueche an das Problem. Ich moechte ein Objekt deformieren und mich interessiert wie die Polygone Schritt fuer Schritt verschoben wurden. Da die Verschiebung nicht Schrittweise gerendert wird, kann ich das wohl mit einem Debugger nicht darstellen. Wenn es dafuer keine Hilfen gibt muss ich das wohl selbst programmieren.
Danke fuer eure Hilfe.
antisteo
Establishment
Beiträge: 854
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: Visual Trace/Debugging

Beitrag von antisteo »

APITrace ist, was du suchst.
Bild
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
adapto
Beiträge: 24
Registriert: 22.07.2012, 01:12
Alter Benutzername: adapto

Re: Visual Trace/Debugging

Beitrag von adapto »

Danke fuer den Tipp. Aber ich habe festgestellt, dass es mit einem Debugger nicht geht. Ich deformiere das Objekt nicht waehrend ich zeichne. Das passiert in einem anderen Loop und den moechte ich visualisieren. Wenn ich rendere ist die Deformation schon abgeschlossen.
antisteo
Establishment
Beiträge: 854
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: Visual Trace/Debugging

Beitrag von antisteo »

Tja, von solchen Debugger-Tools habe ich immer geträumt.

Dann deformiere es doch einfach auf der Grafikkarte, dann kannst du die Grafikkartentools mitbenutzen.
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
Antworten