10
Kornelius Kalnbach & Oliver Stadie Wikip3dia

Wikip3dia - Wikipedia as a Building

Embed Size (px)

DESCRIPTION

Slides are in German Presentation for our Wikipedia built as a Building / Labyrinth - each article is a room - each link is a door We built it in an university computer graphics course, when WebGL was very young. We had to use some "pre-alpha" version of WebGL back then and some browser nightly-builds. Author page: http://waog.net

Citation preview

Page 1: Wikip3dia - Wikipedia as a Building

Kornelius Kalnbach & Oliver Stadie

Wikip3dia

Page 2: Wikip3dia - Wikipedia as a Building

● OpenGL ES 2.0 für JavaScript● Shader!

● Standard noch in Arbeit● läuft in

● Gecko (Firefox 3.7)● WebKit (Safari, Chrome)● Opera, nicht IE● mobile Varianten

Page 3: Wikip3dia - Wikipedia as a Building

Idee

● Wikipedia als Gebäude● Artikel = Raum● Link = Tür, Tunnel

● automatisch generiert● Raum mit Platz für alle Links● Textur mit Linktiteln

Page 4: Wikip3dia - Wikipedia as a Building

Demo

Page 5: Wikip3dia - Wikipedia as a Building

Features

● MipMaps● Ambient Lighting● Directional Lighting● Point Lighting● Fake Shadow● Reflektion● Phong Shading

● Lens Flare● Backface Culling● generierte Texturen● Alpha Blending● Nebel● Shader● …

Page 6: Wikip3dia - Wikipedia as a Building

Technik● JavaScript

● komplett im Browser● keine Serverlast● plattform-unabhängig

● MediaWiki API● WebGL

HardwareBetriebssystem

Browser

GrafikkarteOpenGLWebGLJavaScript

Page 7: Wikip3dia - Wikipedia as a Building

Danke!

Fragen?

Page 8: Wikip3dia - Wikipedia as a Building

Lense Flare

● Textur mit Alphakanal & Alpha Blending● 3 orthogonale Ebenen● Depth-Buffer-Test deaktiviert.

+ - =Depth-Buffer

Page 9: Wikip3dia - Wikipedia as a Building

Reflektion● Boden zeichnen● Tiefenbuffer manipulierengl.depthFunc(gl.GREATER);gl.depthMask(false);

● Szene am Boden spiegelnmvMatrix = mvScale(mvMatrix, 1, -1, 1);

● Szene zeichnen, bei Kisten nur Vorderseitegl.enable(gl.CULL_FACE);

● Boden nochmal zeichnen (mit Alpha)gl.depthFunc(gl.EQUAL);gl.enable(gl.BLEND);setAlpha(gl, shaderProgram, 0.6);

Page 10: Wikip3dia - Wikipedia as a Building