Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Mär 28, 2024 13:16

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 27 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: Android -> WebGL
BeitragVerfasst: Mi Aug 27, 2014 17:12 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1276
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Wie gross ist der Aufwand, eine bestehende Android OpenGL-Anwendung in WebGL umzusetzen ?

Beide Plattformen laufen mit Java.

Nur habe ich gesehen, das Variablen ganz anders deklariert werden als unter Android, Beispiel: Android "int", JavaScript "var".

So wie es auf den ersten Blick aussieht, muss man alles neu machen, oder gibt es eine einfache Lösung ?

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android -> WebGL
BeitragVerfasst: Mi Aug 27, 2014 18:41 
Offline
DGL Member
Benutzeravatar

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 networkmy 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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android -> WebGL
BeitragVerfasst: Mi Aug 27, 2014 18:54 
Offline
DGL Member

Registriert: Do Dez 29, 2011 19:40
Beiträge: 421
Wohnort: Deutschland, Bayern
Programmiersprache: C++, C, D, C# VB.Net
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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android -> WebGL
BeitragVerfasst: Mi Aug 27, 2014 19:05 
Offline
DGL Member
Benutzeravatar

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.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android -> WebGL
BeitragVerfasst: Mi Aug 27, 2014 21:25 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1276
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Zitat:
Wenn man also für beide Platformen entwickeln will, dann am besten direkt mit WebGL.

Das konnte ich auch feststellen, darum bin ich daran interessiert.

Wie sieht es mit Apple Produkten (IPhone, Ipad) aus, unterstützen diese Browser auch WebGL ?

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android -> WebGL
BeitragVerfasst: Do Aug 28, 2014 08:26 
Offline
DGL Member
Benutzeravatar

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 :D

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android -> WebGL
BeitragVerfasst: Do Aug 28, 2014 17:06 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1276
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Zitat:
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.

Ich versteh nicht, wie du dies meinst ?




Animierte (Tut 4-8) Beispiele von dieser Seite http://www.peter-strohm.de/webgl/ auf verschiedenen Plattformen getestet :

  1. Auf meinem PC mit Intel Grafik läuft es im IE und im Chrome ohne Fehler.
  2. Auf dem neuen Firmen-PC mit IE flackert der Hintergrund, Object selbst kommt richtig.
  3. 7" Samsung Tablet im Chrome kommt eine Fehlermeldung, das WebGL nicht unterstütz wird, im Original Browser läuft es.
  4. 10,1" Samsung gleich wie oben, Animation läuft aber nur ca. 2Sek. , ausser wen ich darüber wische, dann bewegt es sich wieder.

So wie es aussieht, ist WebGL nicht voll kompatibel.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android -> WebGL
BeitragVerfasst: Do Aug 28, 2014 18:01 
Offline
DGL Member
Benutzeravatar

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 :mrgreen:

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.

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android -> WebGL
BeitragVerfasst: Do Aug 28, 2014 18:51 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1276
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Zitat:
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.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android -> WebGL
BeitragVerfasst: Fr Aug 29, 2014 13:42 
Offline
DGL Member
Benutzeravatar

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.

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android -> WebGL
BeitragVerfasst: Fr Aug 29, 2014 16:43 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1276
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Zitat:
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.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android -> WebGL
BeitragVerfasst: Fr Aug 29, 2014 17:00 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Browserabdeckung WebGL : http://caniuse.com/webgl

Wobei da ja letztendlich die GPU dahintersteckt (egal ob Desktop oder mobil), und die natürlich auch ne Rolle spielt.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android -> WebGL
BeitragVerfasst: Fr Aug 29, 2014 17:42 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1276
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Zitat:
Browserabdeckung WebGL : http://caniuse.com/webgl

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.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android -> WebGL
BeitragVerfasst: So Aug 31, 2014 16:09 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
mathias hat geschrieben:
Zitat:
Browserabdeckung WebGL : http://caniuse.com/webgl

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 :D

Am besten du kuckst mal die Samples von google selbst an.

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android -> WebGL
BeitragVerfasst: So Aug 31, 2014 16:23 
Offline
DGL Member
Benutzeravatar

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*

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 27 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

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.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.057s | 18 Queries | GZIP : On ]