Page 1 of 1
Lightmap with higher resolution (hmap2 + standard quake)
Posted: Thu Mar 25, 2010 5:53 pm
by JasonX
Quick question guys: how can i have lightmaps with a higher resolution using hmap2 and standard quake?
Posted: Thu Mar 25, 2010 6:26 pm
by Lardarse
hmap2 -light -extra mapname
or
hmap2 -light -extra4x4 mapname
Posted: Thu Mar 25, 2010 9:03 pm
by Spike
lightmap resolution is 1/16th of the regular texture resolution. Scale your textures, scale your lightmaps.
Posted: Thu Mar 25, 2010 9:03 pm
by metlslime
Lardarse wrote:hmap2 -light -extra mapname
or
hmap2 -light -extra4x4 mapname
These just enable supersampling, they will not create a higher-resolution result.
In normal quake engines, the lightmaps are set at 1 sample per 16 texels. So to get more lightmap density on a wall, you can scale down the textures in your map editor.
So for example, replace your 64x64 texture with a higher-res 128x128 version (must be in the wad file itself, not using external textures), then in your map editor set the texture scale to 0.5 on all walls that use that texture, and you will get higher lightmap density.
Posted: Fri Mar 26, 2010 10:14 am
by mh
2 things to be aware of before you do try this (this isn't for metl who already knows this...):
Firstly, lightmaps are loaded into a "blocklights" array before being sent to OpenGL. This is hard-coded to a size of 18*18, and is dependent on the max surface extents. If you boost the lightmap density you will need an engine modification to either reduce the max surface extents or increase the size of blocklights, otherwise you'll risk overflowing the array.
Secondly, you can expect dynamic light modification to be a serious performance hit.
Posted: Fri Mar 26, 2010 2:09 pm
by JasonX
What about software rendering, does it have this limit?
Posted: Fri Mar 26, 2010 7:19 pm
by frag.machine
JasonX wrote:What about software rendering, does it have this limit?
Actually, AFAIK this limit is due software render limitations (or, to be more exactly, with hardware constraints back in the software render only days).
Posted: Fri Mar 26, 2010 7:21 pm
by metlslime
mh wrote:2 things to be aware of before you do try this (this isn't for metl who already knows this...):
Firstly, lightmaps are loaded into a "blocklights" array before being sent to OpenGL. This is hard-coded to a size of 18*18, and is dependent on the max surface extents. If you boost the lightmap density you will need an engine modification to either reduce the max surface extents or increase the size of blocklights, otherwise you'll risk overflowing the array.
To be clear, these are not caveats related to using my suggestion above, they only apply if you intend to modify the engine to get what you want.
Posted: Fri Mar 26, 2010 8:26 pm
by leileilol
frag.machine wrote:Actually, AFAIK this limit is due software render limitations
Or human limitations. How many people want to touch Abrash's crazy asm?