I picked up a Nexus 7 last weekend, partially because I am on the Chrome team now and want to contribute to the Android version, and partially because I really wanted an Android device to play with again. :) I've been using it pretty consistently over the last week and felt like it would be a good time to share my first impressions.
Thursday, September 13, 2012
Sunday, September 2, 2012
New job and glMatrix 2.0
A bit of a life update here, for those that don't follow my Twitter feed there's a couple of things worth bringing up:
First up, I've left Motorola after the project I was working on was shut down. I'm sad to be leaving a truly great team, but when one door closes another blah blah... So now I'm a Google employee! I've joined the Chrome GPU team, and will working on the WebGL implementation! I officially started on August 27th, so this was my first week. Yes, that makes me a Noogler. :)
Thus far my experience has been that Google is a ridiculously awesome and just a tad bit overwhelming at first. There is a LOT to learn, both in terms of culture and code. Did you know that the Chrome code base is (to use a technical term) frikin' huge? It also take a long time to check out and a really long time to build. That's going to take some getting used to after all my dallying in insta-refresh web development land.
Speaking of web development, with my new job what's going to happen with my WebGL hobby code? Hopefully not much, although I'll admit that it'll probably slow down a bit while I focus getting up to speed at the job that actually pays me. :) In any case, I will still be doing personal code, but "Building the Game" is taking another break. (Not that I was being terribly speedy with my updates anyway...)
There is at least one project that I'm actively working on, however: I've started on glMatrix 2.0. It's primarily an application of all the bits of feedback that have been given about the original library, along with an effort to clean up and standardize the API based on real-world use patterns that I've seen. It's still a work in progress at the moment, so anyone is welcome to chime in on the code that's been written thus far. I'm not sure when it'll be officially released, but I'm hoping sometime in the next couple of months.
So that's my little catch-up post! Till next time!
Friday, August 10, 2012
More GPU Tile map demos (Zelda)
I published these on Twitter and Google+ a little over a week ago, but felt they were worth posting on the blog as well!
So if you recall from my previous post I mentioned that the tile map technique allowed for really REALLY big maps. How big, exactly?
How about big enough to store the entire NES Legend of Zelda overworld...
and all of the dungeons...
and the second quest overworld...
and all of it's dungeons...
all in a single massive map!
So if you recall from my previous post I mentioned that the tile map technique allowed for really REALLY big maps. How big, exactly?
How about big enough to store the entire NES Legend of Zelda overworld...
and all of the dungeons...
and the second quest overworld...
and all of it's dungeons...
all in a single massive map!
Monday, July 30, 2012
Sprite tile maps on the GPU
I had a fun idea yesterday while playing (what else) Spelunky and decided I'd give it a go. The result is this demo, which I'm reasonably proud of despite it's simplicity.
I know it doesn't look all that impressive, after all the SNES was doing that kind of stuff a long way back and they didn't need any fancy WebGL to do it. Heck, even a rudimentary HTML Canvas renderer can get similar results, so what makes this so special?
Well, what if I told you the entire thing was done on the GPU by drawing a full-screen quad? Interest piqued?
I know it doesn't look all that impressive, after all the SNES was doing that kind of stuff a long way back and they didn't need any fancy WebGL to do it. Heck, even a rudimentary HTML Canvas renderer can get similar results, so what makes this so special?
Well, what if I told you the entire thing was done on the GPU by drawing a full-screen quad? Interest piqued?
Friday, July 27, 2012
The WebGL Guide to reading OpenGL shaders, Part 1
When discussing graphical techniques in WebGL, it's not uncommon to hear people say "Here's some shader code from an OpenGL desktop app! Use that!" And for the most part that's an entirely reasonable thing to say. Typically it's only when you start looking at OpenGL 3+ (DirectX 10+) level hardware and applications do we run into things that are simply out of reach of WebGL as it stands today.
There are, however, some oddities from the desktop relm that have (wisely) been excised from OpenGL ES 2.0, OpenGL 3.1+, and WebGL. These can make a simple "Oh just use this legacy shader" recommendation an exercise in frustration for someone who isn't intimately familiar with OpenGL 2.0 development on the desktop. If that sounds like you, then this is your guide!
There are, however, some oddities from the desktop relm that have (wisely) been excised from OpenGL ES 2.0, OpenGL 3.1+, and WebGL. These can make a simple "Oh just use this legacy shader" recommendation an exercise in frustration for someone who isn't intimately familiar with OpenGL 2.0 development on the desktop. If that sounds like you, then this is your guide!
Sunday, July 8, 2012
Using WEBGL_depth_texture
Gregg Tavares mentioned on the WebGL mailing list recently that the WEBGL_depth_texture extension was available in Chrome Canary, but I've yet to see anyone talking about how to use it so I figured I'd throw together a quick demo via one of the most popular uses for depth textures: Shadow mapping!
Saturday, June 30, 2012
WebGL Quake 3: 2 years later
Got a great question in the comments on my Quake 3 Tech Talk post today from Daniel P.
It's been almost 2 years since you did this. My question is: how much could you improve the rendering with your knowledge today?Indeed, both WebGL and myself have improved since I initially did the Quake 3 demo, so it's interesting to look back and see what could be done better today given more expertise with WebGL and the evolution of the API.
Subscribe to:
Posts (Atom)


