Light Textures and Falloff Images: Difference between revisions

From The DarkMod Wiki
Jump to navigationJump to search
No edit summary
Line 73: Line 73:
==Dark Radiant Light Definitions==
==Dark Radiant Light Definitions==


1) Select an existing light or create a new light
2) ... (I believe you can browse for Light Textures...?)
3) Manually type the path to your Material Definition in the Entity properties pane
(unfinished)


==Example Light Shader==
==Example Light Shader==

Revision as of 15:53, 10 August 2010

Introduction

While The Dark Mod comes with a rich library of Light Shaders and Textures there are times when mappers may wish to customize the look of lighting further. Light Textures can be used for basic light painting tricks like projecting window-panes light on a floor to advanced uses like simulating the look of a baked light-map.

Lunaran (Matthew Breit) did an in depth look and the performance aspects of Light Shaders in Id Tech 4 and found that there is no performance loss for applying falloff Images and light texture to all lights on your map. He used this new-found insight to develop a technique for making the most of light textures. Essentially he took screen-shots from specific views of his map where light volumes affected the geometry in a predictable way and then painted light textures that conform to the contours of the space and surfaces shown in the screen-shots.

Lunaran's method involves not only shaped point and omni lights but also a shaped ambient (that is the deluxe method). Even without shaping the ambient a couple of custom-textured point lights can give you much richer lighting that the standard squares and circles that are commonly used.

Step 1 Planning

Once you have your map or map section built you will need to decide what lights will be direct and where you might want bounced light or moonlight to hit your geometry. If you have placed lights all over the place to approximate these bounced effects then you will need to pare-down some lights.

Step 2 Screen-Shots

Whether you decide to use the deluxe method with a shaped ambient or just a couple of custom lights (here and there) unless you have a perfect memory for proportions, screen-shots will help you design the light texture and falloff texture.

If you decide to use the deluxe version shaped ambient, a top-view view of your map would probably be the best option.

For Lunaran's Projected light example, he shows a side-view screen that has an easy to predict light pattern (like a light waterfall).

If you have a good eye and want to create a show-piece look for some building (etc) you could use a straight view shot and use that to make a very detailed light texture that would be projected straight at the front view surface. I would caution, however, against using sharp contrast and instead make sure that every adjustment is a smooth gradient. The normal maps and geometry will do the rest of the work to create the details.

Load your screen-shot into your preferred image editor Photoshop, Gimp (etc) and create a new layer. Paint the lighting as desired to the new layer. Merge this layer with a black layer and save this merged image as a TGA texture.

You will be doing this twice: Once for the Z-Axis (direction of the light projecting from the source), the other for the XY direction (the surface that the light hits).

I will recommend that you include "Z" and "XY" in the names of the textures so that you can easily distinguish them for the material light shader.


Example Z-Direction Texture: My_Custom_Light1_Z.tga

Example XY-Direction Texture: My_Custom_Light1_XY.tga

Step 3 Material Definitions

If you haven't already done so, please create a separate folder for your map files. In this folder, create the following sub-directories:

Materials

Lights

Place your new textures into the Lights directory.

Open a text editor like Notepad++ or Wordpad and create document using this as a template:


lights/My_Custom_Light1

{

lightFalloffImage makeIntensity( lights/My_Custom_Light1_Z.tga )

{

forceHighQuality

map gfx/lights/My_Custom_Light1_XY.tga

zeroClamp

}

}

Save this document and change the extension from ".txt" to ".mtr" and copy it to your new Materials directory.


Dark Radiant Light Definitions

1) Select an existing light or create a new light 2) ... (I believe you can browse for Light Textures...?) 3) Manually type the path to your Material Definition in the Entity properties pane

(unfinished)

Example Light Shader

(from Strombine)


lights/aa_1_sky1

{

lightFalloffImage makeIntensity( gfx/lights/1_sky1_z.tga )

{

forceHighQuality

map gfx/lights/1_sky1_xy.tga

red Parm0 * 2

green Parm1 * 2

blue Parm2 * 2

zeroClamp

}

}

Example Ambient Light Shader

lights/aa_1_amb1

{

ambientLight

lightFalloffImage makeIntensity( gfx/lights/xrampup.tga )

{

forceHighQuality

map gfx/lights/1_amb1_xy.tga

colored

// zeroClamp

}

}

Sub-Directories

Materials, Lights, LightsShadows, TexturesLights

Look in tdm_textures_base01 tdm_light_shadows tdm_light_textures

Links and References

Light Baking Thread:

http://modetwo.net/darkmod/index.php?/topic/11416-light-baking/

Strombine:

http://www.lunaran.com/page.php?id=165

Strombine at Quake3world:

http://www.quake3world.com/forum/viewtopic.php?t=29872