WebGL? Aber...

01/10/2012 21:00 finaldown97#1
Hi an alle die das hier lesen,
ich möchte hier mal eine kleine Disskusion anregen. Es geht wie ihr sicher schon mitbekommen habt um WebGL. Da hier eine kleine Gruppe an Leuten dabei ist ein Browsergame zu entwickeln habe ich mir WebGL mal ein wenig angesehn und bin doch fest der Meinung: HTML ist eine Darstellungsprache, eben eine Markup-Language. Dem wiederspricht WebGL jedoch in meinen Augen komplett. WebGL ist für aufwendige Grafikberechnungen und Spiele ausgelegt da es ja nichts anderes als eine OpenGL-Schnittstelle ist. Meine Meinung ist, dass das einfach nicht zusammenpasst: Darstellungssprache + Grafikberechnung. Wie sieht es bei euch aus, was haltet ihr davon oder könnt ihr mich gar des besseren belehren?
Ich hoffe ich kann hier mal ein wenig schwung in die WebDev-Ecke bringen.

finaldown
01/10/2012 21:09 PseudoPsycho#2
WebGL ist ja auch nicht direkt im HTML???
Es ist eine spezielle Abart von JavaScript und JS ist nunmal für Berechnungen, etc. da.
Da könnte man sich genausogut aufregen, dass FlashSpiele im HTML eingebettet sind und das überhaupt nicht zusammenpassen würde...?
01/10/2012 22:01 finaldown97#3
Da hasst du natürlich recht aber aufs JavaScript bezogen: die Darstellung läuft immernoch via html. Und flashspiele sind ja sowieso sehr verhöhnt da man dafür Plugins braucht
01/10/2012 22:21 PseudoPsycho#4
Die Darstellung läuft via HTML? Du meinst:
Code:
<canvas id="webgl_anwendung"></canvas>
Natürlich tut es das, wie soll man sonst auch nur irgendetwas ausgeben???
Die Berechnungen erfolgen nicht im HTML und die Darstellung auch nur indirekt...

Und der winzige Codeschnipsel ist auch nicht mehr, als:
Code:
<video id="video1" src="mein_video.ogv"></video>
Und im Prinzip auch kaum etwas anderes... ABSOLUT ALLES erfordert letztendlich eine Darstellungssprache, aus dem einfachen Grund, dass es ja sonst nicht dargestellt werden könnte...

Und wo du gerade über Plugins sprichst: Ganz genau das ist ja der Vorteil von WebGL. Das das eben nicht notwendig ist.
01/11/2012 18:01 finaldown97#5
Ich verstehe wie du das meinst, aber JavaScript ist halt für Komplexe Anwendungen darunter fallen für mich z.B. Spiele denn diese erfordern eine Komplexe Render-Schleife die ambesten 60 FPS packt, und möglichst sollte sowas Objektorientiert laufen. Und da ich davon ausgehe das du JavaScript kannst wirst du wissen wie es mit dem Objektorientierten läuft. JS war ja in seinen Anfängen halt eher auf Quelltextmanipulation etc. ausgerichtet anstatt auf geschwindigkeit oder auf "lesbarkeit".
01/12/2012 13:48 Fratyr#6
Spätestens mit Googles V8 ist JavaScript auch für die Spieleprogrammierung relativ gut geeignet.
Canvas und WebGL benutzen lediglich HTML zum einbetten, ansonsten wird es nicht benötigt, das wäre - wie schon erwähnt als würdest du Flash mit HTML in Verbindung bringen nur weil es dadurch
eingebettet wird. Blödsinn. Canvas gewann in den letzten Monaten immer mehr performance, auch
komplexe Anwendungen wie Partikel Systeme wurden bereits realisiert. Momentan ist es zwar noch
nicht weit genug um über 3D Spiele zu reden (obwohl es mit WebGL bereits möglich wäre), aber die
man kann ja nicht direkt von 0 auf 100 gehen. Aber mal ganz von WebGL und Canvas abgesehen
wäre es auch möglich spiele komplett ohne diese beiden
Techniken zu programmieren, keine 3D spiele aber Zellenbasierte wie z.B. Spiele im Stil des
rpg makers wurden schon realisiert. Zu beachten ist auch das wir hier nicht nur über "Offline" Spiele
reden, den da es mit JavaScript bereits möglich ist Sockets zu erstellen sind auch MMORPGs
realisierbar. Ich sehe keinen Grund wieso man heutzutage, oder besser gesagt in nicht all zu ferner
Zukunft JavaScript nicht mit der Spielprogrammierung in Verbindung bringen sollte. Die Zukunft liegt
nurmal im Web, das Chrome Book verzichtet auch schon komplett auf einen Desktop, eigentlich ists
nurnoch eine Frage der Zeit bis sich Canvas und WebGL auch in dem Bereich durchsetzen. Einen
Blick wert ist auch Googles Dart (dartlang.org). Diese wird komplett in JavaScript
umgewandelt und besitzt einige nützliche Funktionen was Canvas anbelangt.