Featured Blog | This community-written post highlights the best of what the game industry has to offer. Read more like it on the Game Developer Blogs.
WebGL Experiments: Illyriad's 3d Town
What can WebGL do? Can 3d in a web browser just with HTML5 do what we want? We were wondering...
What can WebGL do? Can it do what we want? We were wondering.. and so decided to put it to the test...
To test the upper bounds of WebGL we put together a rough and ready demo [caution - it's bandwidth hungry]. It's very rough, not optimized and currently only runs on Chrome [working in all browsers that support WebGL is our priority]; but that's kind of the point - its a technology tester to ensure we weren't making a mistake.
The results speak of themselves - it definitely proves itself! Sure it needs a bit more polish, but we are now confident that the actual in-game libraries we are building have a lot of head room to use. Below are a couple screenshots of the town during the day:
The Mage Tower in Illyriad with custom banners
Illyriad WebGL town by day
And another at night:
Illyriad WebGL town at Night
Of course there were many trials along the way and things that didn't quite work as we'd planned as can seen below:
Mirrored Banner Flags
Odd exploding images
Exploding buildings
Sci-Fi creeping into Fantasy
We learnt the importance of GPU compressed textures and had to write a pixel shader decompressor of our own, as WebGL doesn't currently support them natively - but with a cost. The loss of mip-maping this causes it can clearly be seen; and we will have to work around this if they are not supported soon. Overall we are very pleased with the result, which you can check out here. Remember to press space to unlock your mouse to look around - if you aren't fond of reading on-screen instructions ;-)
Naturally this is just a taster of what we have waiting in the wings. We'll look to provide some follow-up blog posts about the techniques and tools being used in this early experiment including:
Web Audio API
Pixel shader texture decompression
Deferred shading
3rd Party Libraries in use
mrdoob's THREE.js
Jerome Etienne's Microcache
Chrome Experiment's DAT.GUI
[Orginally published at: Illyriad Dev Blog | WebGL Experiments: Illyriad’s 3d Town by Ben Adams]
Read more about:
Featured BlogsAbout the Author(s)
You May Also Like