ERLEDIGT
JA
JA
ANTWORTEN
1
1
ZUGRIFFE
1277
1277
EMPFEHLEN
-
Moin zusammen.
Wenn ich Cg-Programme in meinem JOGL-Programm lade und ich habe im Cg-Quellcode einen Fehler, dann erhalte ich einfach nur die simple Fehlermeldung "CG ERROR : The compile returned an error." beim Aufruf meiner checkCgError() Funktion.
Ich verstehe nicht warum ich keine detailliertere Compilermeldung bekomme die mir sagt, in welcher Zeile der Fehler auftritt und welches Problem besteht. Denn so ist es extrem schwierig zu debuggen.
Hier der Code meines Loaders für die CG-Programme:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
public static CGprogram loadAndEnableCGProgram(CGcontext cgContext, String path, int profile, String entry, String[] args) { assert(CgGL.cgIsContext(cgContext)); String pathToFile = path.substring(1); System.out.println("*************************************"); System.out.println("Create Cg Program: " + pathToFile); CGprogram program = null; try { program = CgGL.cgCreateProgramFromStream(cgContext, CgGL.CG_SOURCE, ResourceRetriever.getResourceAsStream(pathToFile), profile, entry, args); } catch(IOException e) { throw new RuntimeException("Error loading Cg program: " + path, e); } checkCgError(); if (!CgGL.cgIsProgramCompiled(program)) { System.out.println("Compile Shader..."); CgGL.cgCompileProgram(program); checkCgError(); } // Enable the appropriate vertex profile and load the vertex program. System.out.println("Enable Cg Profile for Shader..."); CgGL.cgGLEnableProfile(profile); checkCgError(); System.out.println("Load Cg Program..."); CgGL.cgGLLoadProgram(program); checkCgError(); return program; }
und hier der Code der checkCgError() (kopiert aus den Jogl demo sources):
Code :1 2 3 4 5 6 7 8
public static void checkCgError() { /*CGerror*/ int err = CgGL.cgGetError(); if (err != CgGL.CG_NO_ERROR) { System.out.println("Error# : " + err); System.out.println(CgGL.cgGetErrorString(err)); System.exit(1); } }
Der Fehler wird schon beim Aufruf von "CgGL.cgCreateProgramFromStream(....)" erzeugt. Logischerweise ist das debuggen mit solch schmächtigen Informationen extrem schwer oder eher unmöglich.
NEED HELP!!
MfG
Trii
-
Fehler gefunden:
in der ErrorCallback Funktion hat eine Zeile gefehlt und zwar: "System.out.println(CgGL.cgGetLastListing(cgContext));".
Code :1 2 3 4 5 6 7 8 9
public static void checkCgError(CGcontext cgContext) { /*CGerror*/ int err = CgGL.cgGetError(); if (err != CgGL.CG_NO_ERROR) { System.out.println("Error# : " + err); System.out.println(CgGL.cgGetErrorString(err)); System.out.println(CgGL.cgGetLastListing(cgContext)); System.exit(1); } }
Mit dieser Zeile bekomme ich nun genaue Informationen über meinen Fehler.
MfG
Trii
Ähnliche Themen
-
JOGL: VBO + Texturen
Von Lorem im Forum JavaAntworten: 0Letzter Beitrag: 06.10.10, 22:02 -
Jogl 3D-Applet
Von Tobsen999 im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 0Letzter Beitrag: 01.07.10, 16:35 -
JOGL
Von Polli im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 05.01.10, 21:38 -
Probleme mit JOGL
Von TriipaxX im Forum JavaAntworten: 12Letzter Beitrag: 23.05.06, 16:15 -
Eclipse und JOGL
Von oska im Forum JavaAntworten: 1Letzter Beitrag: 29.11.03, 22:02





Zitieren
Login





