Work in progress on the GUI. Super simple look. More or less without skin just to try it out. I would say that RocketLib works as expected and was easy enough to integrate once you got the hang of it. Very, very “software engineered” which is good or bad depending on your school of thought.

So, what is happening in the labs? Well, lately I have been working on some kind of in game GUI. I started out with a very simple but working homegrown GUI based on IMGUI ideas. But as it grew it became very obvious that this was not what I wanted to focus on so I started looking for middleware solutions. Scaleform seems to be what most AAA game titles use but sadly that is a costly solution. Next up, I looked at integrating a web engine and had high hopes for Awesomium but it turned out that it didn’t support 64 bit and was closed source by a small developer. Always a risky idea. After that I looked at Berkelium which is more or less a clone of Awesomium but open source. I gave up on that when I had the 800 MB source of Chromium downloading…. I shouldn’t include the whole universe in order to have a button on screen. Right now I’m using RocketLib which is a small html/css-ish interface middleware. It is well thought out but bordering on obsessive design pattern usage. Call stacks in the 50s range gives me the shivers. It works though and can be nicely integrated into the engine using well defined interfaces. I’ll be back soon with some screens of RocketLib in action.

Implemented first test of shadows. Was kind of hairy since I had an old error in my application side matrix concat code that revealed itself. I have just directional shadows from a point so in order to say that I am finished with shadows for the moment I guess I need at least directional shadow maps and point light shadow casters.

Some progress towards base camp. Implemented better attenuation for point lights, added gloss and alpha maps, fixed many things regarding HDR lighting and tonemapping. What is left is the following:

  • Basic shadows
  • Some kind of crease darkening (SSAO)
  • Fixing the GUI

Then I should take a close look at the bandwidth usage… All buffers are very naïve at this time (RGBA 16F all the way)

Here comes a few nice glitch pictures from various stages of development. I like actually like the trippy visuals. Could be useful for expressions beyond the usual strive for realism hehe.

So, finally some screen shots. Now I have a threaded screen snapper in the framework so it actually produces movies at an ok framerate. These shots is from as short test videoclip and saved at approx 30 fps (every other frame) . The motion blur is little bit too much since I didn’t adapt to the time step, just brute force difference between consecutive frames matrices.

I feel that I am getting closer to my “base level” where I have a platform for real experimenting as well as for expression. I am trying to define this level right now but I guess some parts are very obvious like in game gui, shadows of some sort and a DoF that looks nice. The big thing I’m looking forward to after this is some kind of indirect illumination. Since I use sponza 2008 from Crytek as model it would be fitting to test light propagation volumes I guess :)
Many features work ok like hdr/tonemapping, 3d LUT color correction, deferred lighting, etc while some basics are missing. I’m thinking I will be at base level in one week or so. It’s all dependent on if I have the time. Being on paternal leave makes me very motivated but there is not much time for this little hobby…

Finally I have gathered old code merging it into a framework for quick prototyping of ideas. I Gave up on the idea of having it all raw C99 since my main focus is to rapidly test things, not write the most solid code ever seen. So C++ it is. An unholy combo of C+ classes and some template stuff when needed. Trying to stay away from STL as much as possible (Yes, I was a proponent for many years but have finally given up on it).
Anyway, at the moment I’m testing out some rendering ideas so I made a classic deferred renderer with some basic post effects (motion blur, color grading) and must say that it has been very joyful to work on.
I’m also very happy for the pipeline I’ve created/used. SCM using git on github, building with cmake, config/scene definition using Lua and mainly working in xcode4. I’ll post some screens soon.

yes, I am alive but I’ve stopped posting news here since I felt I didn’t have time to contribute anything of worth during the last year. Had a lot to do with the opening of the “Norrköping Visualization Centre”. (http://visualiseringscenter.se) Where I have been working on climate visualization in the large multiprojection dome theatre.

Currently I am on paternal leave living a somewhat more “mindful” life. Though, I just recently started writing a C++ coding framework salvaged from old code that I never connected before. Looking promising but hacky. Got a classic deferred renderer going, basic core primitives, vecmath etc. Looking forward to showing some screens.

Also started a new twitter account for posting things that I just have to say and that don’t fit linkedin, facebook or here. Mainly development related things

Since I didn’t fint any good answers online to this I’ll add my experiences here for others to find.

gcc (4.2) on Snow Leopard (Mac OS X 10.6) defaults to 64 bit which is good but if you have a lot of libs built as 32 bit code it could be wise to start in 32 bit mode so that you can use all those old libs.

I for example had this issue with OpenSceneGraph and all its dependencies which I built in 32 bit mode on Leopard (10.5.8). So initially I had a lot of issues with undefined _main and crt1.10.6.o
I found out the hard way that you have to set your compiler flags to use 32 bit using the -m32 flag and a separate flag for the linker: -arch i386. Annoying and hard to find on the net.
Hopefully this helps someone…

Added some beautiful syntax highlighting to the code. In addition, I have also uploaded my code to github. This means that in the future, people will be able to contribute as well as download.

© 2011 CFW Design Suffusion theme by Sayontan Sinha