Sunday, May 29, 2011

Adding textures

Hello Reader! For this week I have prepared a bit more interesting tutorial then last week. I will try to explain how to add textures to an object (yes, it's a  plural) and give some more insight into attributes and shaders.

Anyone lost a 1d6 dice?

Wednesday, May 25, 2011

How to convert world to screen coordinates and vice versa

This is a thing every 3D developer should know: for a given point in 3D what is the position of that point in 2D, e.g. on the screen in pixel coordinates? This problem appears quite often (starting with mouse picking) and it' always handy to have the solution at hand :)

Tuesday, May 24, 2011

How to add a blog to

(Ok, this one is for my personal use, but some of you might like it too :)

First of all, is a blog search engine for... well, searching blogs. So if you want to make your blog a bit more visible on the net, submit it here. 
  1. Go to and sign in/join
  2. Go to your profile (click on user name in the upper right corner)
  3. To add your blog go "claim blog"
  4. Fill out what's to fill out
  5. You will get an email with a verification code like: E9CCZCBVNHQG
  6. Put this one in a new post on your blog (not sure if it has to be a new one)
  7. go back to your account at and verify your blog
  8. "It may take quite some time for evaluation."
That's it!

Sunday, May 22, 2011

Tutorials 0 and 1 available!

You can find the first two tutorials on the tutorials page!
One of them is an introduction to WebGL, and the other one will help you create you first simple WebGL app.

Check it out here!

A simple render

It's time to finally start drawing something - and let's make it easy today. I will try to show you some basic stuff - how to initialize things, how to define shaders, how to bind uniforms and attributes (I hope you have read Tutorial 0) and how to make it move, or "animate" :). Here you can download the source for  tutorial 1. Now let's get started!

This is how it will look in the end.

WebGL pipeline

Welcome to my first tutorial about WebGL! For this one I suggest you grab a nice cup of coffee, lay back, a just scroll down a bit... I promise, it's not too hard!

webgl globe
WebGL planet?!

Monday, May 16, 2011

Page rank #1!

I just wanted to share a little fact I got quite proud of:

If you type into Google "webgl factory", this blog is listed as number one - after just one week of existence! It is also valued at 300$ :)

Thank's to all my visitors, WebGL samples are already on the way!

Wednesday, May 11, 2011


Ok, I admit it - I have been wrong about the presentations (and I don't mean the eye candy part). I have just watch the "WebGL performance and techniques" session by Gregg Tavares and I am absolutely speechless. 40000 objects at 40FPS? Just consider the amount of multiplications that JavaScript does not have to execute - more then a few million. I mean, I am working now for a few years for computer graphics now, and I thought I got some good ideas, but Google once again proved me unworthy. I definitely recommend all graphics fans the presentation - it's a 201 session, and even if you're a newcomer it pay's out watching it. 

I still got a few sessions to check out, so I will keep you posted. In the meanwhile, enjoy this on Thumbs up!

Now, this is not the only session involving WebGL and/or game development. Ray Cromwell and Philip Rogers also hosted a very interesting session on this topic using GWT and Java. Google extend the GWT library with a quite useful development frame - the ForPlay. Keep in mind that this is still an alpha build, but never the less it's worth to check it out. ForPlay includes a lot things ranging from optimized draw procedures to physics. 

The really cool thing about it is it's platform "independence" - ForPlay makes it easy to develop a game in Java and the export it to different platforms - desktop Java, web browser or Android. So basically, you make one game and you got it right away ready for 3 platforms (maybe Flash will be included later?). I believe that especially social game developers could find a nice starting point or advacement in this.

The last session that I recommend watching (in respect to WebGL) is Building game development tools by Lilli Thompson. This one is not about games or engines itself, but about the tools needed and/or used by game developers and designers. Punchline here is that a lot of those tools can be ported to the browser - no installation, no portability or offsite work issues - all thanks to WebGL. The ease of development is provided by GWT and Java (of course :)). Consider the power is such approach in respect to CAD software, image or video effects editors. Or the commercial aspect in "renting" specific services on a weekly or monthly basis, incorporated with the <audio> and <video> tags capabilities. Enjoy the video!

Monday, May 9, 2011

The Wows and Hows of Google

Tomorrow starts a two day paradise for developers - Google IO 2011. Wish could be there myself, but as far as I heard the tickets were sold out in about an hour or so - and it's not like a got a few hundred dollars or euros spare to over there ... Well, time to stop dreaming - what have the Googlers prepared for us this years? Well, a lot of stuff - Android, Chrome, HTML5, GWT and of course my all time favorite WebGL. Here are some links to the sessions descriptions:

So what can we expect? To be honest, I guess we're going to see a lot of eye candies, a few super big and super small numbers and a guest appearance by Bing!... maybe. It's probably going to be more interesting the Khronos's WebGL specs, and I hold thumbs that their going to show us average people some nice hacks, but a glossary about WebGL performance enhancements I think we won't see.

Nevertheless, I think the presentations will be worth watching - some of the presenters do know how to make a good show after all. Well, stay tuned, in a few days we will know more.

Lesson #1 in this years Google IO

Sunday, May 8, 2011

Opening Day!

I have been developing in WebGL for quite a while now, and I think it's time for me to share what I have learned. And why would I do that? Because I am a software developer, so it's kind of written in my genes to have a geeky blog about something. And let's face the truth - graphics are much more eye candy then Fortran or, God forbid, database tables... 

Silliness aside, I believe that WebGL is coming on the BIG door. A lot of things will be moving to the web because of HTML5, and a lot of opportunities will arise - and you, dear readers,  want to be sure that you will be able to utilize them (the picture below shows the average effect of WebGL on the end user). Of course, HTML5 - which I believe is now officialy just HTML - is not just WebGL, but this blog will mostly be about WebGL and themes regarding graphics problems. I will try to provide as much lessons, tutorials, examples and explanations as I can -  starting with WebGL dummy problems. My end goal is to teach at least one of you how to make your own BodyBrowser :) For the ones of you who don't feel like making their hands dirty - you can still stop by and enjoy the view!

The first time I saw a spinning teapot on my screen.

For this week there will be no lessons - after all it's my first time (ha-ha) and I don't want to drive you away after the introduction class. Next time I will try to prepare some basic introduction and example of how WebGL works, with as little theory as possible. I plan also to open a separate math and data structure sections, but that will come later, once the basics are covered. Also, I will try to put in here and there GWT and Java posts, and of course some personal, philosophic debates with myself - hope you'll forgive me that!

To close up this entry, if you still did not see some WebGL samples by now, visit Chrome experiments to get a glimpse of what I will be trying to explain here. And by the way, don't forget to have a WebGL supporting browser :)