Well, it’s hard to believe but true. Yesss, I seem to have mastered the basics of GLSL and I’ve really managed to write a phong shader that even supports normal maps and tangent space.

You validly wonder how I achieved this? The answer is..

Typhoon Lab’s Shader Designer!

It’s really a great tool to quickly develop GLSL shaders and preview them with various textures and models. It also includes all necessary OpenGL extension specifications and the GLSL specs. You haven’t downloaded it already? Go get it, or maybe not? Perhaps I’ve been paid by them to do some illegal (or is this kind of obvious surreptitious advertising legal?) advertising? - my fish now scowls at me; you wouldn’t believe that fish can do that.. No, to be honest I’m just very excited about GLSL and everything. And this tool has certainly helped me debug my shaders and gain some experience with the language before taking on some serious project.

Before I forget it, I’ve uploaded my first (and right now only) Shader Designer project for you. The one that supports tangent space - yay!

Here, grab it: First ShaderDesigner Project

But now I’ll tell you the actual reason why I’m so excited: I’ve added GLSL shader support to Vengeance2. You might have to wait for a new build that supports the feature though, since it is brand-new - you could, however, directly grab the SVN version and compile it yourself to be able to see these hot effects now. OK, there are dozens if not hundreds of other engines which already support phong shading and probably do so better than my code does but hey, do you remember - I’m excited!

About the dev aspect of it:

It’s been incredibly easy to add GLSL lighting support to this Quake1 engine. At first I doubted that I would be able to add support for lighting the worldmodel (the map), too, but it turned out to be pretty easily and it even is relatively fast. I’m using distance checks and PVS culling, which both turned out to be very easy to code and yield good performance. Thus I’m quite happy with the result.

For the ones of you, who always want to see some hot pics and some action, I’ve got a few screenshots for you:

E1M1 without shader lightsE1M1 With One Shader LightE1M1 With One Shader Light - Look at the Specular Lighting

E1M1 Dead Bloodhound - Look at the Specular LightingE1M1 Dynamic Lighting Using Shader Lights

Stay tuned and remember the wise words of my fish.

Andreas