<<Previous Archive | Next Archive>>

Subsampling, anyone?

Yesterday evening I sat down for some minutes and improved the lightmap generator of irrEdit with subSampling. That's just a bit like the technique known as AntiAliasing. This is the result:

The lightmap texture on both pictures has the same size (256x256, for the whole level, not per face). On the right pictures I'm calculating 4 samples, on the left only one. The speed decrease is not 4 times as expected, but a lot less, I guess because of caching, nice. I added the option to choose between 1, 4, 9, 16 and 25 samples per texel. Will be in the next release.

Some more links into the world

Reading fefe ranting about a former employer of me made me laugth, and reminded me on my intention of reposting some of those links every week. Does someone have a better title for this weekly post? But who knows, maybe this isn't a good idea at all and I'll stop this anyway. Ok, so here we go, this happened last week:

Thoughts about irrEdit

I just created a testlevel using anim8or and irrEdit. I think I am getting a bit better as modeller, and I learned a lot while doing this level. Here is an example shot:

Some insights. First: I suck as artist. Totally. The only thing in that level which doesn't suck is the plant, and I've taken it from a free 3d model page on internet.
Second: The lightmapper in irrEdit is nice, but not very nice. Lightmap packing could be improved. Currently 50% of the texture space is wasted with nothing. Then, it needs some subsample options (not that hard to do, going to add this in about half an hour) and the possibility to use area lights, or at least sized point lights. Is there a technical term for such a point light?
Another shot:

And third: I need some global illumination. This will take some more time to add, but it's definately worth it, I think.

Pimp My Rights

Free music anyone? Try Pimp my Rights Volume I, a free CD full of professional music, available as MP3s and OGGs, to download. Created by the CCC regensburg, to boycott the music industry who is sueing people using p2p services and to show people legal music alternatives licenced under Creative Commons.
Hey, maybe I should distribute irrKlang with a file of that disk, instead as currently with the poor music I created once.. :)

Under attack

Yesterday night, a spammer started to take this blog under heavy attack. For half an hour he posted one comment every two seconds onto a random entry page. Because I want everybody to be able to post freely on this blog and am not using captchas, registering procedures or similar, this resulted in about 5-10 spam comments on nearly all of the about 400 pages of this blog. But not enough, the spam bots are continuing to post their dump comments on this blog at this very moment.
Consequence: This is so frustrating. I now manually deleted about 80% of all the spam again, but finishing this up could still take some time. (If you spot some spam, please let me know.) I temporarily disallowed comments on this blog, modified the submit script of this blog software, locked comments on old entries, added some more filtering, but I am now also thinking about adding a very simple captcha. Something like a third entry box with a question like "2+5=?". This would be a handmade custom captcha (like all of the other modifications to this software too ;) ), and I don't expect any spammer to adjust his spam script especially for my blog. I hope I've some time at the weekend for this.

irrKlang 0.1 released

Ladies and Gentlemen, a new free library has just come into this world. Let me present to you: irrKlang 0.1. :)


irrKlang is a high level 2D and 3D sound engine and audio library, written and usable in C++. Currently it is only able to play back .ogg and .wav files, but support for mp3 and other formats will be added in the next release. I also only wrote one example yet, but the API is pretty simple, so I guess you'll figure out everything easily if you think about using the library.
Why I created irrKlang: I wanted to add sound into irrEdit, but didn't like the capabilities/interfaces/licenses of the existing sound libraries at all, so I just wrote my own one, with an Irrlicht Engine style interface. It also has some nice features already, and some more are planned. I am using irrKlang myself for a private project, so expect lots of feature updates to this software. And I released it for free so I am not the only one to benefit from my work. Of course irrKlang is independent of the Irrlicht engine and can be used together with any other 3D engine or without one at all, but clearly it can be integrated into an application using Irrlicht more easily than into any other application.
Here's a screenshot of irrKlang integrated with irrlicht, more exactly irredit. (Yes, I know, a screenshot of an audio libary in action is a bit.. stupid. :) )

irrKlang working with irrEdit and irrlicht

So, please take a look into it if you like, and tell me what you think.

First useful Eclipse plugin

I just found the first useful eclipse plugin. :)

Some links into the world

Last week, I wrote down a short blog post about my view of the current changes in the world, and instantly a very interesting and long discussion started in the comments section. Some people were wondering about what I was talking exactly, and I faced the fact that some people just didn't know because they are only following the main media. So I thought about reposting a very short exerpt of the interesting news found daily at blog.fefe.de, so also non german speaking people can read some of it. If you don't want to know about it, don't read it, but I think I'm doing this now every week. I asked fefe if I would be allowed to do this, and he is ok with it, so lets go. This is some random stuff which happened during the last 7 days:
These were some very few randomized items, but I thought nobody would read this if the list is longer than that.
Update: No, this is not the new thing which I am going to release at the end of the week. That's going to be some software. :)

Strange Laziness

From the wxPropertyGrid implementation:
// value = 2 means toggle (sorry, too lazy to do constants)
void wxSimpleCheckBox::SetValue( int value
Hm, wouldn't it been faster to write down a constant instead of that comment saying he is too lazy to do it? Hm. :)

Something new is coming around

Yes, sorry. I've been busy during the last days. No answered emails, no forum posts, no svn checkins. The reason for this is that I started a small test project in the way "let's try if I can do that", and unfortunately everything went so well that I wasn't able to stop. :) But I promise I will stop, and present the results of that project at the end of the week, hopefully. And I think or hope at least it will be something useful for you. Yes - of course, it's something programming related, something useful for developers, especially game developers. :)

Janus - Nachtmahr

Yipee, I received the latest Janus Album named 'Nachtmahr' (german, nightmare) as present. Janus is one of my absolutely favourite bands, as I mentioned already once or twice on this blog. Not only the music of this album is great but also the package. It comes in a DVD box sized massive, heavy box holding 2 CDs and a thick bocklet, together with incredible beautiful pictures, some of them made by a graphic artist named irrlicht artwork, funnily. My box also has autographs from both band members on it.
It's difficult to find a name for the style of the music - at least I don't know one. Mostly it's piano, other classical and electronic instruments together with a male low strong voice singing to it. On previous CDs they mixed this with metal and others, but not on the 'Nachtmahr' CD. The topcis of the songs are this time mostly from WWII, for example about polish children fleeing in the beginning of the war, a girl surviving concentration camps, a former russian soldier returning to Stalingrad. But there are others as well, for example a song about animal experiments from the perspective of a dieing laboratory animal. Depressing topics, but definitively recommendable to listen too, especially in this form.

Trademarks, Patents, Popular Free Software & Co

Maybe you've heard of it, some weeks ago one of those braindamaged lazy lawyers who try to get a lot money from absolutely honest people by sueing them down for something absolutely ridiculous did it again. He registered a (trade?)mark with the same name of the popular and free software virtualdub - without an own real product behind it of course - and started to admonish people linking to the real virtualdub webpage. Just because he intended to make money from the dissuasion, not his virtualdub 'product'. (BTW: This was a german lawyer again. Maybe its because I'm reading the lawblog to much, but I'm getting the impression that those bastards always are coming from my home country...)
Fortunately, the author of virtualdub wasn't deterred, and altough he doesn't live near germany - namely in the USA - he hired a german lawyer to fight back, and now it looks pretty good for him. Good news!

All this makes me think about what would happen if someone tried this with Irrlicht. I don't know if I would spend a thousands of euros for a lawyer to defend my rights on this. But I already thought about preventing this situation by buying a mark myself. The problem: They are not that cheap. Especially european or international marks. An Austrian mark is cheaper but wouldn't help at all. And I don't want to start a donation button on irrlicht.sf.net - as far as I estimate this wouldn't pay out at all although still currently about 400 people are downloading irrlicht each day, and we've about 103.755 project web hits per day. Incredible numbers, if you ask me.

Real World Counterstrike Crates

Someone created real world counterstrike crates. Complete with pixels and everything. I didn't play that game, but it's funny anyway. :)

September 11 effects

Today, 5 years ago, 2.602 people died in coordinated terror attacks at the World Trade Center in New York. In the following "War on Terror" started by the United States, at minimum 62.006 people have been killed and 4.5 million people made homeless (link) until now. Politicans are starting to limit peoples rights and methodically abduct, torture, imprison and kill countless innocent people, and systematically giving themselves more power and money in the name of the "War on Terror". Currently it's a bit like a global inquisition: It's not "you are a witch", it's "you are a terrorist". All others, you and me, are "potential terrorists" so it is ok to take away our privacy, financed by our own taxes. And it is getting worse and worse every day. Nobody is doing anything against it. If it goes on like that, I'm sure the world will look quite horrifying tomorrow.
I'm german. When I went to school and learned about what the Nazis did, we asked our grandparents why they didn't do anything against it when Hitler started to gain power. I hope our children won't need to ask us similar questions when we are old.

Incredible rocked jumps

Quake 3: Skilled people doing rocked jumps. Via jurie.

Doom - the movie

Because nobody wanted to watch it with me when it was shown in the cinemas, I waited for the DVD release of Doom, the movie version of the computer game series by idSoftware. I finally bought it and watched it yesterday, togther with an involuntary guineapig.
My opinion in short: The best part of the Doom DVD is the package. It has a nice picture with embossed printing on it. That's it. Sadly the boxing is more interesting and entertaining than the content of the DVD. And if you know or have played some of the Doom games, the movie really is embarrassing, a pity. I know - there is not much story in the games to make it easy to make a movie from it. But if you create a crappy, boring movie, why not keeping to the very few story elements or the most important elements of that game?
In the Doom games, a Space Marine fights against fire ball throwing demons from Hell. In the movie some special force with a strange name fights against mutants and zombies (!) who don't use any weapons, destroying the complete atmosphere of the games. In most scenes, they don't even use the weapons Doom is known for (chainsaw, shot gun). Combined with lots of stupid dialogs, a senseless story, actors running pointless around in boring corridors with elusive motivations, the movie is absolutely dull. And interestingly, there are lots of typical horror movie like scenes, but they don't scare you at all just like you know it from other movies. I don't know how they acieved that effect. :)
At least they put a lot of Doom-player friendly stuff in there, like a scientist named "Dr. Carmack", an about 3 minute scene where you see everyhting form the first person view as in the games with an original doom like music theme in the background, Doom3 like looking monsters and more.
Wow, after writing this, I got an appetite to play Doom or Doom2 again.

Lost mail

If you've sent me a mail and didn't get a response this week, I probably haven't received it. Sorry. The dog has eaten it.

Open source licences

Sometimes reading open source licences can be fun. I just came across the licence of DUMB, it's a BSD or zlib style licence with some modifications. An extract:

If you are using the Program in someone else's bedroom on any Monday at
3:05 pm, you are not allowed to modify the Program for ten minutes. [This
clause provided by Inphernic; every licence should contain at least one
clause, the reasoning behind which is far from obvious.]
Another one:

No clause in this licence shall prevent this software from being depended
upon by a product licensed under the GNU General Public Licence. If such a
clause is deemed to exist, Debian, then it shall be respected in spirit as
far as possible and all other clauses shall continue to apply in full

Maybe I should add one or two of these here too. :)

SM4, SM3, ShaderX 4

I've finally bought the book ShaderX 4 and it just arrived from Amazon. Lots of people have printed their names in there and its funny to have met or had email contact with some of them already. Makes the book feel a bit familiar. :) Anyway, I'm about one year too late, looks like ShaderX 5 will be released soon.
But who cares, especially for those shader books it is not that critical not to be up to date: Even today, only about a quarter of all end users (I'm talking about gamers) have hardware capable of rendering graphics using Shader Model 3. And even that doesn't mean anything: A graphics accelerator reporting that it is able to do SM3 doesn't mean that it also is able to draw those graphics with usable speed. So if I start programming nice SM3 grade graphics, not much people will really see a lot of it.
BTW: This situation will stay or even get worse: Direct3D 10 removed all min/max capabilities from the spec, so hardware is able to do D3D10 or not. There is nothing in between. The problem: Of course the spec doesn't talk about speed anywhere (at least I didn't see anyhting like that) and most vendors will be happy to display a 'Made for D3D10' tag on their boxes, ignoring speed. Who cares about hardware able to execute hundreds of shader instructions per pixel, if you can only draw a dozen of pixels that way?
Ok, enough off topic. Looking forward to find some time to read some articles of that book.

My readers are geeks!

Who would have thought it, my readers appear to be techies. :) As I've now about 3000 visitors each day (not hits or visits, talking about unique visitors) I thought about doing some little statistics. Two interesting results: People who come to this blog are apparently using the right browsers: Opera is leading (yay!), then comes firefox, followed by IE. It's close but numbers don't lie :)

The next interesting is this: My readers like google. Or people searching for technical stuff are using google. Or google likes my blog. I don't know. But nearly no one comes here via yahoo or msn:

Moral of the story: I don't know. Just interesting.

More pictures

Dani posted some more pictures of our promotion tour on her blog.

Thoughts about further development

Next to the items I already plan to add into irrEdit I'm just thinking about is adding the possibility to access mesh data via the scripting interface. People would be able to write their own mesh or map exporters with this functionality, as script. And scripts have a very nice advantage over binary plugins: You don't have to update them with a new release, they simply work. That's also the reason why I don't support plugin .dlls in irrEdit currently: irrEdit now is in the beginning and its C++ interface changes a lot. To be honest: binary .dll plugins already work in irrEdit. But I didn't make them available for the public yet, and I would like to stay with this for some time. Lets first get the basics to work. So the question now is: Would people be interested in the possibility to write their own exporters as scripts? Or is the built in .irr and .dae exporting functionality enough already?
BTW: irrEdit 0.4 saved scenes might not work with irrlicht 1.1 currently, due to a change I did to the format, sorry. But the irrlicht version checked in the SVN works.