Tuesday, April 14, 2009

Wrapping up lighting: Up next- Detail texturing.

So the deferred lighting system is about complete. A preliminary video was posted to the youtube and another more final video will be uploaded shortly. After that time I'm going to work on cutting the GBuffer bandwidth in half by eliminating one of the unused color buffers and encoding normals into an RGBA8 target (from RGBA16F). The primary performance hit comes from the GBuffer as there is minimal overdraw and minimal screen coverage from the light pass.

The next big thing that I'd like to address (among others) is detail texturing which would require modification to the surface properties which come in from the map. By tiling a repeatable texture and modulating it into the base texture, we can drastically improve the quality of the apparent texture resolution while not necessarily increasing texture size. 

So UV offsets will be precalculated and passed into the GBuffer pass for surfaces which have a detail texture. The detail texture would be interpreted as a heightmap where we can derive the normal and use it to perturb the surface normal for finer detailed bump maps.

I don't anticipate much of this to take particularly long, most of the hard work is over and hopefully we'll see a bunch of new work coming down the pipes very shortly =]   (Edit: that is if I can stop playing Left4Dead.....)

Monday, April 6, 2009

Sallie Jean Nelson (1937-2009)

This morning, Sallie Jean Nelson rode the first rays of the new rising sun to new beginnings.

She remains a primary source for the lessons of perseverence and will continue to be the source of strength and resilience for the slings and arrows that life will throw. My footprint on this project is for her.

Wednesday, March 25, 2009

Yay! New dev box!

Yay! So I've finally scrounged up enough to build a new box. While it isn't what I wanted (Really, will ANYTHING ever be what I wanted?), it's leaps and bounds ahead of what I had before.

Specs:
Athlon X2 7750 Blackbox 2.7GHz (Exchanged from PhenomII) $$ reasons
4GB PC6400
XFX 512MB XXX Radeon 4850

This being my first major Vista build, I'm going to start looking at getting ahead of the DX10 bandwagon in preparation for DX11 and Win7 and may start implementing a DX10 renderer for Quadrion as well.

On a side note, Vista x64 is running exceptionally well. I may be one of a minority who has NOT had driver related or compatability related issues, but it will be interesting to attempt to see what can be done for a 64bit build of Quadrion. Though, I can say for certain that will NOT happen until nVidia releases a 64bit SDK for PhysX, which is supposedly coming soon.

The progress on the new dynamic lighting system is going well. I've got two versions that I'm playing around with, one resembles the more traditional deferred renderers (See. Haregraves). The other is closer to Wolfgang Engel's light pre-pass renderer (http://diaryofagraphicsprogrammer.blogspot.com). I'm going to mess around with seeing what's going to end up working better for us. Though, I'm anticipating that the light-pre pass render is going to be a better solution since memory bandwidth is already sortof an issue for us.

I haven't coded in about 2 weeks, so this was a much needed break. Gonna jump right back in and there will be updates....oh yes there will be updates.

Tuesday, February 17, 2009

finally done and new beginnings.

Wow, I just came to realize how horrendously bad the text editor on blogspot is. 

Anyways, I've wasted enough time on Quadrion's SSAO implementation that I'm pleased to say I'm finally not messing with it anymore. This isn't to say that it's done...just that I'm not messing with it anymore. Looking at the original technique's description and many other takes on SSAO, I found that some of the implementations out there except for the original Crytek implementation are much too black on white (Eg: Edge highlight with no hint of subtle surface occlusion). One of my earlier implementations preserved the subtler surface occlusion details but had the drawback that many surfaces were giving false occlusion, which in some cases looks good.

So the result is a super low frequency approach that relies heavily on a seperable two pass blur w/ bilateral filter which attempts to preserve edges as best as possible. The primary issue was the lack of contrast in the resultant SSAO term. It simply didnt show up in the final color pass. So the best solution here turned out to be the simplest one and it's just a power ramp constrained by surface normal coherence between the original and distributed sampling points.

So the intensity is naively jacked up based on the average angular deviation there. Granted this isn't based entirely on physical accuracy, but it looks good enough. This makes the final term "contrastey" enough to be used in the final color composite without appearing to be an edge highlighter.

I also opted out of the tight sampling radius for the softer, gentler effect of the large sampling radius.

In other news, we've teamed up with another company which will use Quadrion Engine on one of their up and coming titles which we hope will be ready in time for IGF. Crunch crunch crunch.

I've posted some shots of the new effect at my photobucket.
http://i119.photobucket.com/albums/o121/qphalcyon
SSAO Raw#3

Friday, November 28, 2008

rant mode on

Up front I'm going to apologize because I simply dont like to rant much at all. However, if there is one thing that I can rant ad infinitum about, it's the degree and sheer amount of ego and arrogance in amateur independent game development.

I have been into game development now for over 12 years. About 2.5 of which in the professional arena. In those two little years I never experienced vitriol, anger, jealousy, and sheer arrogance that I have in the amateur and independent game development arena. Granted, I certainly recognize that there is an abundance of talented, respectable, and very helpful figures out there...they tend to remain in the woodwork for the most part. What happened to the community, though? Am I just completely out of touch with what it is now? Perhaps in the past 7 years the rabid success of the console market has driven an increasingly large amount of people into indy game development. So is it linear with the rise in population in the game development community? The answer is not something we can really investigate, though I have my suspicions.

But why? For the life of me I cant imagine why the arrogance. Maybe it's just the way I was learned or my experience...my early experience of being around very talented figures. Regardless, it's quite simple that there's nothing someone knows that another can't know. So knowledge is not something possesed, rather it's built on from those before you and reflected from those things you've gathered. It's an expression of the way things are, and that's innate. So then arrogance of knowledge is really just complete insecurity. Really though, this field is so incredibly vast that there is room for everyone to contribute and do so in a constructive way. To simply do what they do and put it out there. If anything for nothing more than to have another fun game to play or another fancy demo to drool over.

So please, with sugar on top, if you can not be constructive. If you just add fuel to the flames, then you're simply part of the problem. In this field the proof is in the pudding. IF you have something to prove, put your money where your mouth is. However, nobody should owe it to anyone to prove anything to anyone. Prove it to yourselves. Prove that you're more capable than you ever imagined you were and then you'll become part of the solution towards propelling games into the next generation.



Wednesday, November 26, 2008

Intro

Well this is the first official blog for Quadrion Engine. The best place to start would be to give a little background into the project and perhaps ramble on a little bit on where we are and where we are going.

Quadrion started in some way, shape, or form in 2002 as a collection of math and image manipulation libs as well as a simple OpenGL framework with which I would be able to launch graphics demos quickly. It's always interesting to look back and examine where realtime graphics technology was then and look how the code and the programmers have evolved into what it's currently become. All the way adapting to a very fast paced and competetive arena. This leads me to a solid respect for virtually all independent developers. Truly the majority are very good quality people and quite brilliant as well. 

Either way, what Quadrion Engine has become is a full fledged game engine that tackles numerous problems associated with game development with minimal dependency. This however, does not come without cost. We invest a solid amount of time per week simply ensuring the engine remains competetive or at least on the current generation capabilities curve. 

Quadrion has recently moved out of a phase were the bulk of the code development was backend engine work. We've just emerged into the actual task of game development. One possible path that was debated on was whether we would simply continue on the path of making a bigger and badder rendering engine to launch small demos or turn the project into a full fledged game. We decided to take the latter path. We have laid the groundwork for artistic direction and input. Since Quadrion is based largely on older media creation such as Quake3 BSP and others, we can not truly exploit the engine for what it is without talent from the artistic side which includes modellers, texture artists, and mappers. So this could be an appeal to any of those who are up to the task.

We remain a laid back group that has watched players in the game development community come and go. We have watched technology evolve from software based rendering to the hardware monstrocities of today. We are simply here to do what we do, and if people like the product; that will have made all the work worthwhile. We enjoy contributing to the independent scene, and we enjoy seeing what others have created. As the days of the 3D API come to a wane, we can clearly see that the future of game development and realtime graphics lies with us, the independent developer. The amount of access in the field is unparalleled. Virtually anyone with an enterprising mind, and access to a computer could conceivably contribute to the developments of tomorrow. It's this end vision that keeps us moving. We hope that its this vision that keeps everyone in the community moving as well towards the next generation of interactive media.