|
Posted by ericw on 2015/07/14 00:34:45 |
Hey, I got around to setting up a website for my branch of tyrutils: (complete with lots of screenshots of different settings of AO, sunlight, etc!)
http://ericwa.github.io/tyrutils-ericw
and making an "official" release of it.
Nothing major changed compared with the last snapshot (may 1st), but a couple new things:
* .lux file support from Spike, for deluxemapping
* gamma control with -gamma flag and "_gamma" key
* rename -dirty flag to -dirt for consistency
* fence texture tracing is now opt-in only with the "-fence" flag.
* light should run a bit faster
This doesn't have lit2. Not sure what to do with that, tbh.
If there's a demand for it, I was thinking I could make a tool that upscales all textures in a wad by 2x or 4x, and adds a "-2x"/"-4x" suffix to the names. You could then manually get the higher-res lightmap on certain faces by applying the upscaled texture, and lowering the texture scale to 0.5 or 0.25 in your editor.
The only real disadvantage of this hacky method over lit2 is more face subdivision by qbsp. This isn't great, but it shouldn't be an issue if the hack is used sparingly (and bsp2 can be used if needed for higher face/vert limits.)
Anyway, enjoy, I hope this is pretty bug-free. |
|
|
#182 posted by - on 2015/10/23 20:18:25
Wow, yeah, map I'm working on went from 18secs to light to 8 seconds (only option was -gate 10) nice!
#183 posted by - on 2015/10/23 20:21:37
...though it seems -gate 10 is a bit high of a setting now that it actually works, lost a lot of detail in my lighting :D
Still, nice that it actually works!
Yes
#184 posted by mfx on 2015/10/23 20:24:24
2 times faster now with -gate 10.
#185 posted by Lunaran on 2015/10/23 21:23:30
so, what does the number after gate actually mean then?
#186 posted by ericw on 2015/10/23 21:49:39
When you specify "-gate X": for each light, the util calculates the distance at which a surface would be lit up by that light to an intensity of 'X'. The intensity units are the same as the bsp file, so 127 is full brightness, 255 is 2x overbright. The distance calculated is used as a bounding sphere, so beyond the sphere the light casts 0 brightness.
#187 posted by ericw on 2015/10/23 21:53:10
Scampie + mfx, awesome it is giving a speedup for you guys!
If you just have a delay 2 light in a large box room, "-gate 10" should give a visible seam where the brightness changes abruptly from 10 to 0. Might have to turn up the quake gamma to see it clearly. It's possible I still messed up the formula so i might try rewriting it in a more straightforward way.
#188 posted by - on 2015/10/23 22:26:23
I found -gate 3 worked well for my situation. Still a large speedup and I keep some of the subtle lighting effects I was doing.
#189 posted by PuLSaR on 2015/10/23 22:35:39
i remember -gate 1 got a great speed up on old rigs in aguirRe's tools. like from 10 minutes to ~10 secs. Was is different now?
#190 posted by Lunaran on 2015/10/24 05:22:34
127 is full brightness, 255 is 2x overbright.
That's what I was wondering, thanks.
PuLSaR
#191 posted by ericw on 2015/10/26 05:55:56
Tyrann just added -gate more recently to his tool (2013), and it looks like there was a bug causing it not to give as much of a speedup as it should have. but it's fixed in the most recent dev build of my version of tyrutils.
New Release V0.15.3
#192 posted by ericw on 2015/10/26 21:51:57
https://github.com/ericwa/tyrutils-ericw/releases
Highlights are Spike's addition of Hexen 2 support, fixed -gate, a new "_surface_spotlight" key which automatically sets "mangle" on surface lights to turn them into spotlights.
I've Just Tried It
#193 posted by PuLSaR on 2015/10/26 22:29:05
and -gate really speeds up the light process
_surface_spotlight Sounds Neat
#194 posted by mankrip on 2015/10/27 02:45:36
Also, a question: Does surface lights follows the shape of the fullbright texels, or maybe the luminance of each texel?
No
#195 posted by ericw on 2015/10/27 03:12:22
The "surface lights" I implemented are nothing fancy like that, all it does is handle cloning & positioning copies of point lights. It's just a shortcut around a lot of copy&paste really. It works best with runic light fixtures where it'll reliably put a single point light on each light fixture.
The q2/q3 light utils have "real" surface lighting, where the light-emitting surfaces are divided into radiosity patches, and then the area of these patches is used in the lighting calculation. See here in the q3 tools. I think the patches took their colour from an average of 32x32 texels or something.
I did experiment with that code in my tool but didn't have the greatest results, it was slow, tended to cause "hot spot" artifacts on the walls around a lava surface, and generally didn't look very good in Quake.
#196 posted by mankrip on 2015/10/27 04:14:13
:) Thanks for the info.
Idea: Interpret the fullbright texels as transparent, and put the surface's point light behind the surface. This way, you can use the algorithm of the alphamasked texture shadows to shape the light.
The results will be more akin to spotlights, so it would have to be optional.
It would be useful for stuff like windows.
#197 posted by - on 2015/10/27 05:01:05
That seems like a really fun feature... I'm going to make a crazy disco ball of spotlight lasers
#198 posted by Spike on 2015/10/27 05:12:30
0_O
#199 posted by mfx on 2015/10/27 05:23:48
That screenshot is nice!
Surface Lights
#200 posted by oGkspAz on 2015/10/27 09:13:21
Considering my lighting knowledge is terrible at best, here's the bit where I go: "I've seen surface lights mentioned but how does it work?"
Spike
that screenshot reminds me of something that I experimented with.
http://quakeguy.tumblr.com/post/120732856652/stained-glass-window-casting-light
I have a feeling that however you did it might be more competent because you have managed to get the actual texture to look like it's projected, whereas mine is a bit more of a hacky workaround using alpha masked textures and a couple of different coloured lights.
#202 posted by JneeraZ on 2015/10/27 12:03:16
_surface_spotlight sounds cool. So it just sets a spotlight based on the surface normal or something?
Looks Noice But
#203 posted by Kinn on 2015/10/27 12:35:48
Stained-glass window lighting to me always looks exactly like those rainbow-splatter lightmap glitches you'd see in games from the early 2000s that remind you that you need to update your OpenGL drivers.
Warren
#204 posted by ericw on 2015/10/27 19:35:37
Yep, it sets the spotlight based on the surface normal. It's just a little convenience thing, I always found setting "mangle" to be a pain. This way you can rotate the light fixture brushes any angle and the spotlight will always shine the correct direction. :-)
oGkspAz, there's an example screenshot + entity at the bottom of: http://ericwa.github.io/tyrutils-ericw . Basically add key/value "_surface" "texname" to a light entity, and copies of that light will be cloned on all faces with that texture name.
@ #200
#205 posted by - on 2015/10/27 19:41:21
Surfaces lights in these tools are pretty simple things.
You place a light, anywhere in the map, and put whatever _color and light and delay settings you want on it... you then put "_surface" "NAME_OF_TEXTURE" on that light, and the light compiler will automagically copy that light around just in front of any surface with that texture, spaced apart every 128 units.
It's best for things like textures that are clearly light sources, a nice convenience so that you can mess with a single light once, and all of them will be lit up. It can also be good for something like Lava, and doing the legwork of lighting it all up for you.
Minor Promble
#206 posted by Kinn on 2015/10/27 21:06:35
A minor thing though is that if BSP chops your surface up, you get a new light for each face which can make things brighter than expected in places. This seems to be a problem with liquid surfaces mainly.
|
|
You must be logged in to post in this thread.
|
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.
|
|