In Android versuche ich, JPCT mit Vuforia zu integrieren, indem ich dieses Tutorial benutze: Ссылка
Das erste Mal, wenn die Anwendung gestartet wird, funktioniert es, aber wenn ich zurückgehe und wieder "play" drücke, stürzt es ab.
Das sind die Fehler in meinem LogCat, wenn die Anwendung abstürzt:
%Vor%Hier ist Imagetargetsrenderer.java code
%Vor%Code für imagetargets.cpp
%Vor%Was bedeutet diese Ausnahme?
Um etwas zu sehen, bevor Sie die Matrix anwenden, müssen Sie zuerst der Kamera sagen, dass sie auf dem Objekt aussehen soll.
%Vor%Beachten Sie, dass Sie diese Zeilen entfernen sollten, wenn Sie die Kamera mit der Modelview-Matrix von der Markierung aktualisieren.
Wenn Sie meinem Tutorial folgen, müssen Sie eigentlich keine OpenGL-Zustände aktivieren, um etwas über dem Marker zu sehen (obwohl Sie vielleicht aus anderen Gründen Sam Rags aktivieren möchten).
Der Anfang Ihrer renderFrame
-Methode in ImageTarget.cpp
sollte folgendermaßen aussehen:
Das, denke ich, wird Ihren Fehler für activityClass lösen, wurde in diesem Bereich nicht deklariert
Kommentieren Sie diese Zeile und testen Sie sie erneut. Du brauchst es nicht mehr.
%Vor% Ich würde auch empfehlen, die Methode renderFrame()
in onDrawFrame()
auskommentieren, um zu sehen, ob jPCT den Würfel rendern kann, wenn QCAR das Rendering nicht früher gestartet hat. (nur zu Testzwecken)
Ganz zu schweigen davon, dass QCAR anfänglich die OpenGL-Zustände standardmäßig ändert. Daher müssen Sie einige davon aktivieren, um mit jPCT zu rendern. Weitere Informationen finden Sie OpenGL-Statusänderungen im Video-Hintergrundrenderer .
Ich verwende dies für OpenGL ES 1.x
, nachdem ich renderFrame
in onDrawFrame
: