Ich bins mal wieder. Auf Basis des WebGL Tutorials aus dem Wiki, einem anderen Tutorial (http://learningwebgl.com/blog/?p=28) und dem GWT habe ich angefangen, mit GWT WebGL in Java zu implementieren. Allerdings lässt sich das Wiki WebGL Tutorial aus irgendeinem Grund nicht richtig umsetzen..
Ich sehe.. nichts
Wobei Nichts im Grunde ein Schwarzes Canvas ist, das sogar korrekter Weise Schwarz ist, da die ClearColor auf schwarz gesetzt wurde. Die Farbe des Canvas verändert sich auch, wenn ich ClearColor verändere, also zumindest das sollte stimmen.
Nun frage ich mich, wieso also der restliche Quellcode nicht funktioniert, der ja hauptsächlich noch aus den Shadern besteht. Es bietet sich im moment kaum eine Möglichkeit, das irgendwie zu debuggen, weil dieses Debugplugin für Minefield irgendwie nicht funktioniert. Ich poste einfach mal ein bisschen Code:
Anmerkung: gl ist eine Instanz der Klasse, die die Methodenaufrufe per JNI kapselt.
Code:
publicvoid onModuleLoad()
{
instance =this;
// GWT Elemente
finalHTML html =newHTML("<canvas id=\"canvas\"></canvas>");
final FocusPanel focusPanel =new FocusPanel(html);
focusPanel.setStyleName("focus");
RootPanel.get().add(focusPanel);
focusPanel.setFocus(true);
scheduleRepeating(2);
gl.clearColor(0, 0, 0, 1);
gl.enable(gl.DEPTH_TEST);
// Shader aus dem Tutorial frei reinkopiert, liegts vielleicht schon hier?
Ich habe die Textur erstmal rausgelassen, weil ich noch nicht wusste, wie ich das Image aus dem Wikiartikel in GWT umsetzen kann. Eigentlich wollte ich einfach erstmal was sehen, um zu wissen, ob ich auf dem Richtigen Weg bin ^^
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Hast du deinen Code mal in Pascal oder halt richtigem OGL getestet? WebGL ist ja ein OGL 3(?) subset, und sollte auch in einer Hochsprache funktionieren (mit anderer Initialisierung).
Das würde erstmal prinzipielle Probleme ausschließen...
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Es bietet sich im moment kaum eine Möglichkeit, das irgendwie zu debuggen, weil dieses Debugplugin für Minefield irgendwie nicht funktioniert.
WGT bietet dir eine Log-Klasse an, damit kannst du Meldungen raushauen. Wenn du das DefaultLog benutzt werden die Nachrichten einfach als div-Boxen dargestellt in eine übergeordnete div-Box geworfen. Auch ist natürlich die JavaScript-Konsole von Minefield immer recht hilfreich.
@Flash: WebGL basiert auf OpenGL ES 2.0, was Ähnlichkeiten zu OpenGL 3.1 aufweist.
Okay das war in der Tat ein dummer Fehler dessen Ausmertzung leider nicht zum gewünschten Erfolg geführt hat. Auch nach dem Ent-Auskommentieren der LinkZeile bleibt alles schwarz.
Ich weiss schon, dass es einige Frameworks gibt. Allerdings wollte ich vorerst einfach mal schauen, wie sich das ganze WebGL gestaltet und wie schwer/leicht die Implementierung ist. Vielleicht nutze ich danach ein Framework (dann wohl eher deines, weil da die Kommunikationswege zum "Support" unproblematischer wären ^^) aber im Moment würde ich gern erstmal diese Demo zum Laufen bekommen.
Nun hab ich also meine .html aufgemacht und da stand tatsächlich noch ein <body onLoad="init()"> Das hab ich erstmal beseitigt, weil im Grunde die GWT onModuleLoad() das schon alles übernehmen sollte oder?
Allerdings auch nach dem entfernen des Init(), bleibt der obige Fehler bestehen. Im Quelltext der Seite existiert der aufruf im Body-onLoad aber nichtmehr. Eigenartigt ist auch, dass die Errorkonsole in Zeile 1 anzeigt, obwohl das in einer ganz anderen Zeile steht.
Wird den dein Code überhaupt ausgeführt? Vielleicht am Ende von run() ein Window.alert("blubb") oder so einbauen. (Es ist sinnvoll dafür das Timerintervall auf 2 Sekunden oder mehr zu setzen...)
Ansonsten checke bei deinem Wrapper mal ob vielleicht irgendwo eine Funktion falsch umgesetzt wird.
Also das Alert habe ich getestet und das wird ausgelöst Ansonsten habe ich mal alle Methoden, die ich vom Wrapper aufrufe überprüft, und nehme an, dass die so stimmen sollten..
Also ich hab noch ne weile durchgetestet und mit ein paar Alerts debuggt. Die Arrays werden korrekt angelegt und die Images/Texturen offenbar auch erzeugt. Die Run wird regelmäßig aufgerufen und auch ansonsten scheinen die Eventlistener des Images usw zu funktionieren und zu reagieren. Ich bin etwas ratlos
Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.