Thank you Ogre

October 30, 2007 – 1:54 pm

We got a front-page link from ogre3d.org. OGRE is the open-source rendering engine we use for the CloudWright realtime tool. I’ve used OGRE for many months now since switching from another open source renderer. I’ve found it stable and powerful, and easy to write for.

CloudWright Beta Release

October 26, 2007 – 10:19 pm

The CloudWright Beta has now commenced.

I’m delighted to announce the opening of full beta testing for the CloudWright cubemap tool. Want to join the beta? Sign up at http://simul.co.uk/cloudwright/cloudwright-mailing.

A free cubemap

October 18, 2007 – 11:39 pm

While we’re waiting for the beta to get out the door (not much longer now I swear), here’s a hi-res cubemap to keep you going:

MorningSkyCube.dds

It’s 1024 x 1024 on each face, and it looks like this:

Send us some shots of what you use it for!

The CloudWright Beta

October 10, 2007 – 12:50 pm

CloudWright is entering Beta testing soon. Join the mailing list or mail enquiries@simul.co.uk to get involved: I’ll limit the numbers if necessary, but otherwise anyone who’s interested can sign up.

CloudWright Image Gallery

October 2, 2007 – 8:09 pm


CloudWright gallery CloudWright gallery CloudWright gallery

I’ve added an image gallery for CloudWright, go take a look. Each new iteration seems to produce vastly better output, we’ll need to get it out there soon!

God Rays

September 21, 2007 – 11:33 pm

More CloudWright : it’s just about ready to be released, though in what form is to be decided. These shots show “god-rays” - light from the sun poking through gaps in the clouds. I’ve implemented save/load and you can also export to a cubemap view ATI’s cubemap tool. The clouds shown render at interactive rates on two year-old

hardware which helps a lot with adjusting for the perfect look - you just can’t do this kind of interactivity if you have to wait two minutes for a render.

 

CW10.jpgCW20.jpg CW12.jpg CW13.jpg CW21.jpg

CloudWright

September 19, 2007 – 9:59 pm

I’ve long had an interest in rendering realistic clouds for games. The usual approach - taking photos of the sky and stitching them together into a dome or cubemap - produces convincing skies but has a number of disadvantages. If you want to use high dynamic range, you either need to take a full HDR picture of your sky, or to fake it convincingly. It’s static, lacking the infinite variety of real skies.

CloudWright is a program written with Simul that generates skies. It outputs cubemaps that you can use in-game. It can cover pretty much any kind of “fluffy” cloud with full physics-based lighting - cumulus, stratus, cumulonimbus. The lighting is based on date, latitude and time-of-day information.

Here is some early preview output from CloudWright:

CW2.jpgCW8.jpgCW5.jpgCW4.jpgCW7.jpg

 

The Simul framework helped a lot with this - I could easily build objects with saveable properties, so I didn’t have to worry about file formats - the framework does all the work. In this case, CloudWright just remembers what your data was when you last ran it. Later on I’ll put in a save/load setup and more bells and whistles.

DLL’s, entry points and global variables in C++

September 18, 2007 – 5:45 pm

I recently converted one of my libraries from a statically-linked lib to a DLL. But I found some problems - global variables declared in the DLL were not being initialized - and they ended up with null virtual-function pointers. The reason - I had checked “no entry point”. This seemed sensible as the DLL is a resource, and doesn’t do anything explicit on loading.

But apparently this means it will just leave your globals (actually static class members in my case) completely uninitialized. Neither Microsoft’s documentation, nor googling enlightened me much after discovering this behaviour.

Reflection in C++

September 17, 2007 – 1:44 pm

In building simul I’ve found it necessary to implement reflection in C++. Reflection is where you can dynamically get information about a class, even use its functions and members, at runtime rather than compile time.

Read the rest of this entry »

Starting up

September 17, 2007 – 9:27 am

This is a blog about simul, a framework for software. I guess most blogs are about the author recording his/her thoughts or opinions when he/she feels like it. While I might do this as well, what I mainly want to do here is provide an outlet for simul, so I can explain what it is and get feedback from the software community.