Doom3 style shaders and lighting in Crystal Space

00000000000000000000000000000000
0
Anonymous Aug 31, 2005 at 10:12

05-08-31.jpg

Description
Here you can see how Crystal Space is used to show Doom3 style graphics and lighting techniques. Stencil shadows are used in combination with lightmaps calculated in 3dsMax. Lots of other shader usage too in this shot.

The techniques used for generating this shot are not yet available in standard Crystal Space at the moment. We’re currently working on a new lighting system to make this kind of feature standard. Consider it a preview of things to come. On this page: http://www.crystalspace3d.org/tikiwiki/tik…ghting+overhaul you can find more detailed information on the plans we have in this area. At this moment we’re busy making a new lightmap system that is radiosity based and will work a lot better (less visual problems and usable on more types of objects) then the current system. The screenshot you see here basically uses the same technique but uses 3dsMax to generate the lightmaps. Once that is done we will start working on generalized techniques to mix lightmaps with dynamic stencil based shadows.

2 Replies

Please log in or register to post a reply.

Fdbdc4176840d77fe6a8deca457595ab
0
dk 158 Aug 31, 2005 at 14:16

Impressive work!
As a side note, you might want to consider updating the Crystal Space engine listing on the 3D engines database when these new features are officially in.

My question is, from an engine architecture point of view, how are you designing the new lighting system?

3b2e5447b1c69ff97c70943e88b0069a
0
jorrit 101 Aug 31, 2005 at 17:29

@Dia

Impressive work!
As a side note, you might want to consider updating the Crystal Space engine listing on the 3D engines database when these new features are officially in.

My question is, from an engine architecture point of view, how are you designing the new lighting system?

[snapback]20582[/snapback]

About design there are various parts to this. The lightmap generator will basically be a radiosity based lighting calculator that generates big textures with lightmaps fitted on it (attempting to make a good fit so that the lightmap textures are used well). At runtime the lightmap textures are rendered on top of the geometry in a second pass (either multi-texturing or with real multiple passes depending on hardware).

As to the other features you can read most of it in the url I posted in my description. Basically it means we’ll be adding some flexibility in the way you can use and combine different lighting systems. For example, you will be able to say that some moving objects have to cast shadows using stencil or other hardware technique while the rest of the geometry uses static precalculated lightmaps. It is basically a matter of giving control and being flexible in what combinations are possible.

One of the problems with the current lighting system in CS is that it is very focused on individual mesh objects. For example, lightmaps are currently implemented inside the ‘thing’ mesh object which means that other meshes (like landscape) cannot use it. Also every mesh type is responsible for calculating lighting on its own which means a lot of code duplication and occasionally inconsistencies. The idea here is to generalize all this. For the lightmap generator we will move it outside of the thing mesh and instead put it in a more general place.

Greetings,