Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
mathias hat geschrieben:
Beide Plattformen laufen mit Java.
Das stimmt nicht. WebGL ist JavaScript. Dementsprechend musst du wie sonst auch in eine andere Sprache portieren oder ein Toolkit verwenden, was das für dich macht (google hat da glaube ich was).
viele Grüße
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Java hat mit JavaScript außer dem Namen übrigens so gut wie nichts gemeinsam. Soweit ich weiß wurde JavaScript hauptsächlich aus Marketing-Gründen danach benannt.
Also musst du entweder JavaScript lernen und dann portieren oder einen "Java zu Javascript"-Transcompiler finden. Ich weiß, das C++ sich mit Emscripten in JavaScript kompilieren lässt und zum Beispiel Unity wohl an etwas ähnlichem für Dot.Net(zb. C#) arbeitet. Mit etwas Glück gibt es etwas das bereits brauchbar ist für Java.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
WebGL läuft auch auf Android. Wenn man also für beide Platformen entwickeln will, dann am besten direkt mit WebGL. Und dann halt mit sowas wie Three.js oder bablyon.js.
Registriert: Mo Nov 08, 2010 18:41 Beiträge: 769
Programmiersprache: Gestern
Laufen tuts auf beiden relative entspannt. Problematisch wird es nur wenn du mal aus Javascript rausgehen willst. Also zum Beispiel wenn du eine Datei laden willst.
Unter Android muss man dafuer dem Webview nur ein Objekt als Javascript Handler zuweisen. Danach kannst du alle Java Methoden von dem Objekt aufrufen, vorrausgesetzt diese haben das Javascript Attribute.
Unter iOS brauchst du in der Regel einen lokalen HTTP-Server der AJAX Abfragen vom Javascript verarbeitet. Aber wenn dieser erst einmal steht ist das Ganze sehr viel maechtiger als bei Android. Objective-C kannst du naehmlich sehr leicht (de-)serialisieren, denn alles ist ein Objekt (auch Klassen und Methoden) und Objekte enthalten String-Listen die das Objekt beschreiben. Sprich du kannst alles in Javascript benutzen was du auch Native benutzen wuerdest und auch noch fast genauso schnell.
Mal ein Beispiel: [Object new] ist grob uebersetzt: id x = find_class("Object"); find_method(x,"new")->execute(x);
Allerdings solltest du das nicht unterschaetzen. Ein Zeiger besteht hier naemlich nicht nur aus einer Addresse sondern auch noch einen Zeitstempel. Das ist leider ein Must-Have denn Multithreading ist hier eine klare Anforderung von Apple um in den Store zu kommen. Objekte muessen also durch Zeit und Raum reisen koennen
Laufen tuts auf beiden relative entspannt. Problematisch wird es nur wenn du mal aus Javascript rausgehen willst. Also zum Beispiel wenn du eine Datei laden willst.
Registriert: Mo Nov 08, 2010 18:41 Beiträge: 769
Programmiersprache: Gestern
Naja der normale Browser ist eh immer Big-Bad Voodoo. Da würde ich nicht einmal ein Canvas oder SVG benutzen
Für WebGL auf Smartphones, sollte man lieber einen Webview benutzen. Dabei handelt es sich um eine View welche die Engine vom System-Browser benutzt um HTML darzustellen. Im Gegensatz zu einen richtigen Browser handelt es sich hierbei in der Regel aber nur um die reine Darstellung von HTML ohne irgendwelchen Schnick-Schnack wie Tabs, Navigationsleiste usw.. Dafür erlauben sie aber auch bessere Kontrolle und oft auch andere Features. Als ich zum Beispiel das letzte mal etwas auf iOS damit rumgespielt hatte ging es halt nur über diesen View und nicht im normalen Safari.
Außerdem besitzen WebViews noch einen weiteren wichtigen Vorteil: Sie laufen innerhalb deiner App. Du kannst also das komplette IO selbst abwickeln und auch ein Overlay Canvas das normales OpenGL benutzt.
Für WebGL auf Smartphones, sollte man lieber einen Webview benutzen.
Das ist genau, was ich nicht will. Die Animation sollte möglichst mit Bordmitteln laufen. Auf unseren Firmen PCs, darf keine fremde Software installiert werden.
Registriert: Mo Nov 08, 2010 18:41 Beiträge: 769
Programmiersprache: Gestern
Tja das kannst du dann wohl vergessen. Beim Windows-Desktop kannst du nur OpenGL 1.X voraussetzen. Sprich, kein WebGL, keine Shader, nix aussser FFP
Der Rest wird erst zur Laufzeit geladen und benoetigt moeglicherweise Zusatzsoftware und/oder Hard-/Software Updates. Aber das ist dann das Problem eurer IT.
Tja das kannst du dann wohl vergessen. Beim Windows-Desktop kannst du nur OpenGL 1.X voraussetzen. Sprich, kein WebGL, keine Shader, nix aussser FFP
Meinst du im Fall, wen keine Grafiktreiber installiert werden, der währe bei den meisten vorinstallierten PCs dabei.
Zitat:
Auf dem neuen Firmen-PC mit IE flackert der Hintergrund, Object selbst kommt richtig.
Ich habe es versuchsweise überlistet, in dem ich ganz im Hintergrund ein schwarzes Rechteck renderte, ohne Skalierung drehung etc..
Das Problem mit dem Chrome Browser unter Android ist mir ein Rätsel, das ausgerechnet Google damit werbt, das dies geht. Ich habe mitr auch die Einstellung unter chrome://flags/ angeguckt, dort ist alles richtig.
Also müsste es auf meinen Tablets laufen, da habe ich chrome 36.xxx. Hardware sollte kein Problem sein, im Standard-Browser von Android läuft es.
Zu den Firmen-PCs, die neueren Kisten haben Windows 7 und da ist IE11 Standard.
Zitat:
Wobei da ja letztendlich die GPU dahintersteckt (egal ob Desktop oder mobil),
Dies ist mir schon klar, schlussendlich machen die WebGL-Befehle das gleiche wie in einer kompilierten EXE-Datei.
Nein Chrome ist halt auch nur parshal. Sprich es fehlt irgendetwas oder ist halt ne Abweichung. Da könnte es gut sein das du viel über den Codepath erledigen. Das war bei OpenGL früher sehr ähnlich. Dort musstest du halt zum Beispiel zwischen ARB und SGI unterscheiden. Ist bei Javascript aber auch nicht wirklich Aufwändig, bis auf die exzessive Suche
Am besten du kuckst mal die Samples von google selbst an.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Nur mal so als Vorwarnung bzgl. WebGL (weil ich mich damit auch grade beschäftige und ärgere) : Chrome und wohl auch FF nutzen zumindest unter Windows ANGLE, sprich alle WebGL-Befehle werden nach D3D gemappt. Nach meinen Erfahrungen bisher ist das alles noch weit weg von perfekt und auch noch nicht reif für die breite Masse, aber das kommt hoffentlich noch. Genauso wie hoffentlich auch ein WebGL-Renderer auf direkter OpenGL-Basis kommt. Chrome hat zwar nen Kommandozeilenparameter um statt ANGLE OpenGL zu nutzen, aber das ist experimentell und nur mit Vorsicht zu genießen.
Ich bleib für meinen aktuellen Spielprototypen daher erstmal beim HTML5-Canvas, in WebGL (dank ANGLE) kann man aktuell nicht mal breite Linien zeichnen, das wird nicht unterstützt und hat lt. deren Devs auch geringe Prio *kopfschüttel*
Mitglieder in diesem Forum: 0 Mitglieder und 27 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.