NEW: pre 0.55 q3map2 + lighting compile
This is a mappers preview build of the tools and instructions
needed to compile maps using the advantages of upcoming 0.55
lighting.
First of all, the tools:
netRadiant version 422 + q3map2f08 (with extradist, floodlight)
Updated q3map2f08 (no runtime dep, extradist, floodlight)
Updated build menu
It's windows only. You can get the whole thing or just q3map2 + build menu. Linux users can compile netradiant and q3map2 from Netradiant's git repository and just download the updated build menu.
You will also need the 0.51 executable in order to see the new lighting. Please notice, if you release your map before 0.55 it is possible some players are not able to see the new features and the lighting they see is pretty ugly instead.
On the novelties:
- _lightingIntensity worldspawn key: A worldspawn key must be added to the map with the name _lightingIntensity and a float point value above 1. Recommended value to use with the compile settings is 1.75 but it's not a must to use that exact number. The higher the number, the more intense the light becomes. It acts similar to overbrightbits, but doesn't use the hardware gamma but it's done in fragment shaders, getting a much smoother and intense lighting fallofs. Notice: It works only on per pixel materials, so textures must have a normalmap to look that good, even if it's just a dummy flat normalmap.
- _floodlight worldspawn key: It's an "old" q3map2n feature improved to be able to work as full replacement of ambient lighting. It "floods" the map with light, but it makes it so bigger areas are brighter than smaller areas, so it produces a depth oclusion emulation, getting more natural results than plain ambient. A map can be lit just using floodlight and look decent, add it a sun and a couple of lights and you are done. Floodlight and ambient can be combined, but there's no point in it. A good starting value for an average map could be: _floodlight 255 255 255 768 100. The "size" value comes to be an aproximation to a hallway width in your map. The more open, the bigger value you should use.
Mappers shall not use the "ambient" key anymore, but always use "_floodlight" instead, and never use both.
- _extradist light entity key: This is a light entity key used to reduce the hotspots on light entities. With standard q3map2 falloff, if you want to use a light entity which happens to be close to a wall, and you want to make it quite intense, the light will create a hotspot in the wall close to it, and sometimes even produce dark dirtyness around it. With extradist you can soften the light falloff so the hotspot is cutted out (you are ignoring the highest peaks of the light ramp). With this it's possible to put a light entity close to a wall which lights up the whole room without creating any hotspot. Around a 10% of the light intensity value uses to do it, but it's just a starting value, it all depends on the distance from the light to the walls. Notice: With extradist you can use really big lights that do look good. Notice: Extradist doesn't work on shader lights. Using light entities is recommended. Also notice: The build menu sets a global extradist value of 50, so for creating a intense small light you will have to set _extradist 0 in the entity, or any other small value of your taste.
Example of _extradist, left side pic doesn't use it and it should, right side pic uses it:
http://www.foopics.com/show/e6ac0f20c51 ... 993857bca0
Other non-optional improvements:
- Half lambert ramp on angle lighting falloff: Produces better shadows on walls in strong angle to the light direction. Improves detail on bumpmapping a little too.
- Reduced default light backsplash to almost none: Backsplash was a quick shortcut to simulate the result of radiosity around light shaders. There's not much point in using it.
- Tweaked sun shadows deviance to be a bit sharper by default.
- Reduce radiosity contribution to bumpmapping. This makes contribution from directional lights be more present since it doesn't get tempered by radiosity bounced contributions.
- Transparent surfaces will be solid in models when using the misc_model autoclipping option, just as they would be in normal brushes.
New shader additions:
- On q3map2, you can now use the key q3map_noDirty, to avoid the application of -dirty on those surfaces.
- On the engine, you can now use vertexlit materials. These are materials that do have bump mapping and specular mapping, but do not have a lightmap. They are very useful for mapobjects, since misc_models are much slower to draw when the forcemeta option is enabled on them. This is a example shader of a vertexlit material:
I think that's pretty much all. HF.
EDIT: I don't take credit for all these improvements. Some were made by me, some by diverent, from the Xonotic team, and ofc, the engine coding stuff by Vic.
(updated 2012-08-03 15:27:28)
First of all, the tools:
netRadiant version 422 + q3map2f08 (with extradist, floodlight)
Updated q3map2f08 (no runtime dep, extradist, floodlight)
Updated build menu
It's windows only. You can get the whole thing or just q3map2 + build menu. Linux users can compile netradiant and q3map2 from Netradiant's git repository and just download the updated build menu.
You will also need the 0.51 executable in order to see the new lighting. Please notice, if you release your map before 0.55 it is possible some players are not able to see the new features and the lighting they see is pretty ugly instead.
On the novelties:
- _lightingIntensity worldspawn key: A worldspawn key must be added to the map with the name _lightingIntensity and a float point value above 1. Recommended value to use with the compile settings is 1.75 but it's not a must to use that exact number. The higher the number, the more intense the light becomes. It acts similar to overbrightbits, but doesn't use the hardware gamma but it's done in fragment shaders, getting a much smoother and intense lighting fallofs. Notice: It works only on per pixel materials, so textures must have a normalmap to look that good, even if it's just a dummy flat normalmap.
- _floodlight worldspawn key: It's an "old" q3map2n feature improved to be able to work as full replacement of ambient lighting. It "floods" the map with light, but it makes it so bigger areas are brighter than smaller areas, so it produces a depth oclusion emulation, getting more natural results than plain ambient. A map can be lit just using floodlight and look decent, add it a sun and a couple of lights and you are done. Floodlight and ambient can be combined, but there's no point in it. A good starting value for an average map could be: _floodlight 255 255 255 768 100. The "size" value comes to be an aproximation to a hallway width in your map. The more open, the bigger value you should use.
Mappers shall not use the "ambient" key anymore, but always use "_floodlight" instead, and never use both.
- _extradist light entity key: This is a light entity key used to reduce the hotspots on light entities. With standard q3map2 falloff, if you want to use a light entity which happens to be close to a wall, and you want to make it quite intense, the light will create a hotspot in the wall close to it, and sometimes even produce dark dirtyness around it. With extradist you can soften the light falloff so the hotspot is cutted out (you are ignoring the highest peaks of the light ramp). With this it's possible to put a light entity close to a wall which lights up the whole room without creating any hotspot. Around a 10% of the light intensity value uses to do it, but it's just a starting value, it all depends on the distance from the light to the walls. Notice: With extradist you can use really big lights that do look good. Notice: Extradist doesn't work on shader lights. Using light entities is recommended. Also notice: The build menu sets a global extradist value of 50, so for creating a intense small light you will have to set _extradist 0 in the entity, or any other small value of your taste.
Example of _extradist, left side pic doesn't use it and it should, right side pic uses it:
http://www.foopics.com/show/e6ac0f20c51 ... 993857bca0
Other non-optional improvements:
- Half lambert ramp on angle lighting falloff: Produces better shadows on walls in strong angle to the light direction. Improves detail on bumpmapping a little too.
- Reduced default light backsplash to almost none: Backsplash was a quick shortcut to simulate the result of radiosity around light shaders. There's not much point in using it.
- Tweaked sun shadows deviance to be a bit sharper by default.
- Reduce radiosity contribution to bumpmapping. This makes contribution from directional lights be more present since it doesn't get tempered by radiosity bounced contributions.
- Transparent surfaces will be solid in models when using the misc_model autoclipping option, just as they would be in normal brushes.
New shader additions:
- On q3map2, you can now use the key q3map_noDirty, to avoid the application of -dirty on those surfaces.
- On the engine, you can now use vertexlit materials. These are materials that do have bump mapping and specular mapping, but do not have a lightmap. They are very useful for mapobjects, since misc_models are much slower to draw when the forcemeta option is enabled on them. This is a example shader of a vertexlit material:
models/mapobjects/vehicles/forklift
{
qer_editorimage models/mapobjects/vehicles/forklift.tga
surfaceparm nomarks
surfaceparm nolightmap
nopicmip
if deluxe
{
rgbgen lightingDiffuse
material models/mapobjects/vehicles/forklift
}
endif
if ! deluxe
{
map models/mapobjects/vehicles/forklift
rgbgen vertex
}
endif
}
I think that's pretty much all. HF.
EDIT: I don't take credit for all these improvements. Some were made by me, some by diverent, from the Xonotic team, and ofc, the engine coding stuff by Vic.
(updated 2012-08-03 15:27:28)
To see some example results with new lighting goodness, remember to check the devblog :)
Great update! I've been using floodlighting for a while, and I love
it. I've also seen your half lambert'd wbomb1 on quake3world, real
cool stuff.
oh my god
this sounds so awesome!
extradist sounds like the best feature that came to the compiler since years
no backsplash, finally freaking YES :D
and the transparent model change sounds also awesome
nice update, really like this :)
this sounds so awesome!
extradist sounds like the best feature that came to the compiler since years
no backsplash, finally freaking YES :D
and the transparent model change sounds also awesome
nice update, really like this :)
jal, after some tests, I have to say that I have some serious
problems with that new lighting system
I get strange artifacts if I put a shader, which emits light, onto a brush or patch which goes more into lenght, like here:
http://a.imageshack.us/img22/9922/wsw00284.jpg
watch the middle of that patch, there the light is by far stronger than on the edges or on the rest of it, but the light should be emitted smoothly over the whole patch
better to see without deluxemapping:
http://a.imageshack.us/img697/4933/wsw00285.jpg
This mixes up my whole map and I get such strange artifacts everywhere now, e.g. I get many small shadows on edges of brushes, even when they are lit
with the old netradiant & compiler this didn't happen :S
I get strange artifacts if I put a shader, which emits light, onto a brush or patch which goes more into lenght, like here:
http://a.imageshack.us/img22/9922/wsw00284.jpg
watch the middle of that patch, there the light is by far stronger than on the edges or on the rest of it, but the light should be emitted smoothly over the whole patch
better to see without deluxemapping:
http://a.imageshack.us/img697/4933/wsw00285.jpg
This mixes up my whole map and I get such strange artifacts everywhere now, e.g. I get many small shadows on edges of brushes, even when they are lit
with the old netradiant & compiler this didn't happen :S
SolidFake wrote:
with the old netradiant & compiler this didn't happen :S
That has always happened. Use q3map_lightsubdivide to make the surface generate more lighting sources.
I want to remark what I said in the initial post, tho.
jal wrote:
Notice: Extradist doesn't work on shader lights. Using light entities is recommended.
This doesn't mean shader lights work worse than before. They don't. But in comparison with light entities they look much worse now (because they look as they did before).
jal wrote:
That has always happened. Use q3map_lightsubdivide to make the surface generate more lighting sources.
ye, true, I checked some old screenshots, it is the same but just not so obvious
the problem is that my map looks now completely different and a lot darker than before (even without a risen _lightintensity key), I guess because of that, that single lights are now brighter but the overall is that much darker, I get those strange artifacts with the same compile options like before
here a screen of an area with the old compiler:
http://a.imageshack.us/img72/4964/wsw00279.jpg
and here with the new:
http://a.imageshack.us/img19/9981/wsw00286.jpg
same compile options like before
how can I reach the old status of the look of my map now, should I floodlight the whole map or raise the gamma? :S
The new lighting is completely different from the old lighting. You
can't simply recompile old maps, you have to relit your map, or,
what is the same, change all light values.
jal wrote:
The new lighting is completely different from the old lighting. You can't simply recompile old maps, you have to relit your map, or, what is the same, change all light values.
damn, I already thought so
k, looks like there is no way around, I'll need to rework all my shaders and the whole lighting of my map then to get the same contrast like before
how long you've been working on that map? is it your secret
lifetime project? ;)
RimoL wrote:
how long you've been working on that map? is it your secret lifetime project? ;)
too long, I made the first layout for it back in 0.3 times
wouldn't say lifetime, but my secret warsow project fits it pretty well :P
SolidFake wrote:
RimoL wrote:
how long you've been working on that map? is it your secret lifetime project? ;)
too long, I made the first layout for it back in 0.3 times
wouldn't say lifetime, but my secret warsow project fits it pretty well :P
I've been waiting for it for about 2.5 years now... :rolleyes:
Haha not releasing a map project for 2,5 years must beat goochies
record in this with ease :D
Except goochie probably started mapping for warsow 4-5 years ago?
Huksi` wrote:
Haha not releasing a map project for 2,5 years must beat goochies record in this with ease :D
ye, but I will releasy my map one day ;)
SolidFake wrote:
Huksi` wrote:
Haha not releasing a map project for 2,5 years must beat goochies record in this with ease :D
ye, but I will releasy my map one day ;)
and after that he is going to die
36 wrote:
Except goochie probably started mapping for warsow 4-5 years ago?
yeah but he has probably abandoned the old projects.. and Solid is still working on his map after 2,5 years.
jal wrote:
Updated build menu
since bountysource.com seems to be down, here's a temporary backup of the Updated build menu from last July.

