<<Previous Archive | Next Archive>>

Open Source 3D Software Rasterizer

Take a look at this:

Maybe you already have seen this. Not impressive, right? Then take a closer look. Right. This is rendered in pure software. No 3D hardware needed. I just released Irrlicht 0.14.0, and it includes a full software rasterizer, contributed by Thomas Alten. Very kool. So, if you are looking for a stable, usable, free, open source 3D software renderer, Irrlicht is now an option.

Kabarett hoch Drei

The first thing I ever created using svg:

Yeah, I know. I'm not an artist. But with some imagination, you see that it's a ticket for the event Kabarett hoch Drei. Hope it will be a funny event, because I'll be there too.
SVG really seems to be a kewl file format. I'd like to write a renderer for it. Would be fun. But I've got no time. :)


Alcohol is the root of all evil. I think I'm going to stop drinking this stuff for some time. At least until New Year's Eve. :-) I wanted to do soo much things at the weekend. An Irrlicht release. Learn for the next exam. Answer mails. And I wasn't able to do anything, just because of the after-effects of this evil fluid.
Hm, I think I remember that I even met some of my coworkers that evening. And I think I remember that I was in a condition where I wasn't even able to speak anything meaningful. Hopefully their memory on this is as bad as mine. ;)

The beauty of managed C++

Yes, I posted a lot of technical stuff, recently. Sorry. Maybe this is the last one. :) Take a look at this beautiful piece of code:
float GetFloats() __gc[]
float f __gc[] = new float __gc [Count];
System::Write("size:{0}", __box(Count) );
return f;
Did you say something? I only heard __gc blabla __gc blabla __box. :-)
And another thing, which makes me love this language:
cl : Command line error D8016 :
'/docDebug\' and '/clr:oldsyntax' command-line options are
Oh come on!

The best 3D portal generator

Some articles I've read recently remind me on my adventures with portals. Last year, I spent some time programming a portal generator. What's that, you might ask. It is something which creates something like this:

(Shot taken from a not yet released software, but stay tuned.) Using portals is a simple technique for speeding up indoor rendering, a lot of well known 3D engines (Unreal, Doom) use this. You simply define rooms connected through portals which are nothing more than windows, telling the 3D engine where you can look from one room into the other one. the only problem is: How do you get these rooms and portals? So I sat down and wrote a software which calculated this stuff automaticly. It worked quite well and gave good results. But the portal finding problem is quite complex (NP-complete, anyone?), and computing time grew exponential. For 200 polys, the algorithm created portals within less than a second. But for example for large levels with 1 mio polygons, it could take serval hours. And then, seeing the 3D artist clicking together the needed 8-10 portals for this huge level within one minute was a bit frustrating. So, instead of trying to optimize the algorithm, which was possible but would have taken development time, we decided to let the 3D artist create these portals. Now we had high quality portals in very short time, and better: we had full control about where the portals where. This is sometimes really necessary to increase rendering speed if you need it at some special places in a level for example. Conclusion: Maybe, the best portal generator is the 3D artist. :)

Things I don't like about .NET

There are some few things I don't like about .NET. For example: Default parameters. I know, they are not there because they are not safe. But in this way it is really a pain to translate C++ methods to managed C++. For example:
virtual ISceneNode* addSomeSceneNode(
f32 size=10.0f, ISceneNode* parent=0, s32 id=-1,
const core::vector3df& position = core::vector3df(0,0,0),
const core::vector3df& rotation = core::vector3df(0,0,0),
const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f)
) = 0;
To make this single method available in .NET, I've got to write 7, in words seven methods. That's real fun. Not to mention the documentation, which usually has about 10-20 lines per method. And if you changed the method in the C++ interface, then you've got to change it for all copies in the .NET version. Seven times. Yay. Now think in classes. There are usually 5-30 methods like this in an average class I am translating to .NET. And there are about 50-100 classes. Fun³. Sometimes, wrapper generator users have a slight advantage. :)
And for my .NET related ceterum censeo style saying: I'd like mixed mode assembly and managed C++ or C++/CLI support in Mono. Really.

I'm blind!

Ahhh! What happened to gamedev.net? I'm blind. My eyes! My poor eyes are used to the darkness, and now that!

World maps

Originally, I only wanted to post a boring world map of places I've already vistited. Like martin and ak did. I'll do it nevertheless:

I cut down some maps from world66 because I thought a big red half of a continent on the left part of the world map would not be representative just because I visited some few states in the USA. But here is a map which is a lot cooler, a shot of the recently created irrlicht user map:

If you are using Irrlicht, please add yourself, would be interesting. It is free and not necessary to register yourself for this. For example poor afecelis currently is the only one representing south america. :)

Rendering 2D stuff in 3D

Here's a small screenshot for the weekend, showing another feature I'm planning for the next release of Irrlicht:

It's nothing special, just the ability to render 2D stuff into textures. The consequence is that you will be also able to render the 2D GUI into a texture and draw this again in 3D space for example. You can do some funny things with this, here's a small program I've written using this feature, a UML class diagram in 3D :)

War is not like BF2

The last sick bastard who utilized white phosphorus as a weapon was Saddam Hussein. But now, after several initial denials, the US admitted that they've done it too, in Falluja. Last year.
White phosphorus is a cruel chemical weapon. It burns you at about 1300° celsius. Down to the bones. If you somehow manage to escape, it is impossible to operate your wounds, because it will start burning as soon as the phosphor touches air again. But never mind, if you catched more than 50 milli grams, you'll die a wretched death after about a week anyway because it is toxic too.
In my opinion, no sane human would use such a weapon.

Writing mails is fun!

Just answered about 20 Irrlicht related mails. Tired. But I'd need some more energy to visit the forum again. But currently I haven't. Give me a break! :)

irrXML 1.2 released

A new version of irrXML has been released yesterday. Happy parsing.


Files of $USER$

I just burned a backup DVD. I also included the folder named 'Nikos Dateien' (files of niko) in this backup. Reading the DVD at the PC of my flat-mate reveals that Windows is a bit strange. There, the folder on the DVD is named 'Jans Dateien' (files of jan).

Best provider I ever had

Because I owned several domains, I now have some experience with lots of webhosters. And now that Irrlicht3d.org exists for some time, I think I can say: MIKAS.at, the provider behind irrlicht3d.org, really rocks. Thanks for such a great service. I never had any problems, the support is incredible, and the server fast and stable. So if you need webspace, domains, etc, try Mikas. Yep, this is some promotion. But it's the first time I'm really entirely satisfied with an ISP.
BTW: I'm paying 2,5 € per month for irrlicht3d.org, quite affordable, eh? :)

Anisotropic filtering

Nothing my previous post didn't show, but again a shot of one of the new features in the upcoming release.

Making screenshots. I like that! :)


For those of you who want to download the free Visual Studio Express and are too lazy to type two dots in the url: msdnmicrosoft.com works too.


Come, and see the wonderful Jubiläumswarte! Be impressed by the sensational view over Vienna.


Updated about text

Several months too late, but finally I updated the about text to the right. But I'll refuse to delete the flipcode.org link. :)

Improving 3D rendering quality

Most people know that the rendering quality of the Irrlicht 3D engine is very low and below the standard of other popular engines. That's because image quality was never a goal when I started developing Irrlicht. In fact, Irrlicht originally only was able to handle 16 bit data. This has been improved, but Irrlicht 3D scenes still look ugly. But in spite of this Irrlicht is one of the most popular 3D engines anyway. So, what if I improved rendering quality? The last few weeks I've played around with this, and it looks it will become a big feature of the next release.

The first pair of images shows antialiasing, this is implemented in Irrlicht since some versions. All other stuff is new. Basicly these are results of enhancements to the internal precision, better and new filters and so on. I've also uploaded a big image showing a screenshot of the current ugly version and a shot of the upcoming release, which shows the difference quite well.
No - and I don't know when the next release will be out. :)

Irrlicht Forum up again

Did you miss a webpage like this recently?

The Irrlicht Engine forum was down for about one day. Sorry. It was all my fault. I missed the sourceforge.net migration deadline and sourceforge shut down the mysql server. But at least I wasn't the only one, there were quite a lot admins of sourceforge projects posting support issues. :) I now migrated everything, and the Irrlicht Forum now runs on MySQL 4, finally. When I injected the database dump into the new DBMS, I noticed how big the Irrlicht Community grew during the last months. Hey, people already posted 54567 articles there! Phew, cool! Sorry again for the downtime. Happy posting now. :)

Dead body in front of my house

A dead human is lying in front of my house. And there are several police officers and lots of people with cameras. But because there is also some artifical lighting and a movie catering service, I assume that nobody is injured.