#51 posted by metlslime on 2018/03/16 19:18:41
An alternate approach is to adopt just the UI aspect from q3radiant (the keyboard input) -- under the hood the editor could be using that flag/unflag operation to move the brush from world to func and back. Don't show it to the user as an entity, show it as world brushes with detail flag, but store it as a func.
#52 posted by Kinn on 2018/03/16 19:27:25
you'd also still need to support _phong and all the other keys that you'd want on detail too...
#53 posted by ww on 2018/03/16 20:34:25
Would be awesome to have q3 style detailing as option eric. Wanted to ask this ages ago.. Before pestering niger to add support -)
Will be easy enough to just use func_groups to add keys I assume.
#54 posted by mankrip on 2018/06/26 23:34:31
It just occurred to me — are BSP entities self-shadowed?
For BSP entities that doesn't cast shadows onto the world, it would make sense for them not to cast shadows over themselves either. This would also require them to support backfaced lighting, like the lit liquids does.
#55 posted by ericw on 2018/06/27 02:02:20
They're not self-shadowed; you can opt to it with "_selfshadow" "1" though. Enabling world shadows with "_shadow" "1" implies self-shadowing too. (All of this should be consistent with tyrutils).
#56 posted by anonymous user on 2018/06/27 04:14:51
Can I use these to compile q2 maps?
#56
No. But you can compile Hexen 2 maps.
Check out this page near the bottom for compiling tools. http://maps.rcmd.org/tutorials/q2_mapping_today/
#58 posted by ericw on 2018/06/27 05:48:12
Not currently, but the next update will have experimental support for q2 in the light tool only (so it'll be possible to use this 'light' in conjunction with a quake 2 qbsp + vis), thanks to m-x-d's contribution! I've been slow to get to testing it but planning to soon.
#55
#59 posted by mankrip on 2018/06/27 13:12:44
Nice. Can you implement an entity field to enable lighting from the back, like in the liquids?
This would be useful for opaque glasses such as the func_illusionary stained glass windows in some E4 maps (they're completely black from behind when you enter their secret area), and for new stuff like ice bridges, etc.
@mankrip
#60 posted by Qmaster on 2018/06/28 04:20:16
I think it's actually textured with "black" on those levels, but what you want is _mirror_inside 1. Or was it _mirrorinside 1. To add backfaces inside the brush.
#61 posted by mankrip on 2018/06/28 09:00:04
No, adding backfaces is a different thing. I'm talking about letting the surfaces be lit from behind, just like EricW already did for the water.
Argreed
#62 posted by ericw on 2018/06/28 09:51:48
this would be a good addition. "_light_from_behind"?
#63 posted by mankrip on 2018/06/28 23:24:19
Yeah, that could work.
Bug With _lightignore?
#64 posted by Esrael on 2018/07/13 13:06:29
I have a platform with "_minlight" set to 300 and "_lightignore" set to 1 and the result looks less uniform than expected:
https://media.giphy.com/media/xiBtcFw60XXFvNYIMn/giphy.gif
It looks like the torches affect the minlight of the platform even if it's supposed to ignore all lights, right? The darker areas of the platform also looks very dark even if _minlight is set to 300. Is this supposed to happen?
Add A _maxlight Key?
#65 posted by Esrael on 2018/07/13 13:10:06
Forgot to write in the previous post, that the problem made me wish there was a "_maxlight" key to prevent some areas from being too bright, so that's something for you to consider implementing in future versions. :)
Multiple Minlight Excluded Textures
#66 posted by Esrael on 2018/07/13 13:24:10
Sorry for the spam, but I keep remembering stuff in drops. ;C
Currently the "_minlight_exclude" key allows for only one texture, right? Could you make it possible to have more than one texture be excluded by separating the textures with a comma/semicolon etc?
I Figured It Out!
#67 posted by Esrael on 2018/07/13 13:46:58
It turned out that the cause of the non-uniform brightness was the "_dirt" key in the worldspawn. That affected the brightness of the elevator in the narrow hole. I solved the problem by adding a key/value combo of "_dirt/-1" for the platform.
But my two previous suggestion posts still stand. Something for Eric to consider implementing. :) Sorry for the spam again! @_@
+1 for _maxlight key
it would be handy to give certain brushes a range with _minlight and _maxlight
_project_texture
I know from experience this is a tough feature to work with and it's currently pretty limited. But if it could be improved I think many more ppl would use it. I was able to get a pretty decent result in my 100b4 map. The big 4 on the far wall is a projection.
I'm wondering if there's any way to rethink this or improve the functionality somehow?
Projections
#70 posted by Spike on 2018/07/17 09:49:52
there's four ways to improve it.
1) tga/png images. either way qbsp really needs the ability to read tgas too, not just the light util. wads need to die (or at least have the option to be killed for non-fullbright surfaces).
2) cubemaps. project all 6 sides instead of just 1. it should reduce issues with fovs higher than 90 and potentially improve rtlight compat, but 6 faces is more of a pain to create.
3) lights placed INSIDE the brush containing the light that is being projected, which would be especially handy with cubemaps. Failing that, just switching the light to an orthographic projection would properly allow for sunlight through windows.
4) higher lightmap resolution, so that the projections can actually be seen without turning into a blurry mess. You can already achieve that in a backwards compatible way by using _lmscale, however it'll currently only work in FTE+QSS when compiled with ericw's tools. Otherwise you can achieve higher resolutions by just rescaling the texcoords and increasing the texture size to compensate (ericw was toying with the idea of automatically doing this a while back), but this sort of thing has a direct impact upon texture filtering etc.
stuff like that '4' might be better served by adding support for decals somehow - even if they're still just lightmaps it would be easier to align them, avoiding bluring and effectively doubling their resolution. failing that there's always fence textures.
either way, any kind of change requires someone to devote their time to implement said change...
BTW
#71 posted by generic on 2018/07/17 13:35:05
That map was clever as hell! Great job!
#72 posted by mankrip on 2018/07/17 14:11:26
As Spike said, the lightmap resolution being tied to 1/16 of the texture resolution brings unavoidable conflicts.
Personally, I'm eventually going to create a different BSP format where the lightmap projection and texture projection will be completely independent (plus other features). It's the only way to implement this nicely.
doesn't upscaling the projected texture help make it look better?
#71, 73
@generic Thank you!
@Snaut I don't recall if I tried anything over 512. It was a long afternoon of trial and error.
#75 posted by Spike on 2018/07/18 02:08:23
there's no mipmapping or anything on the projections, so if your projected texture is too high res, then all that will happen is that it'll skip over various pixels completely, resulting in shimmering at least if it were moving in realtime.
so 1 lightmap sample per 16 wall texels, which means 1 per 16qu with quake's default texture scaling. a fov of 90 is probably easiest to figure out the required distances of the light.
Thanks to linear filtering, a 16*16 lightmap covers only an area of 240*240qu, not 256*256.
the same is true for a projected light image if you want it to match your lightmaps.
so a fov90 projected texture that's 16*16 should be 120qu away from your 240qu*240qu 16-aligned wall. your light should be centered where you want it - which means misaligned by 8qu on each axis from your 16qu grid.
assuming I didn't embarrassingly screw up the maths anywhere, that should give you the best resulting image quality.
a 17*17 projected texture would be cleaner (128qu from the wall, aligned to the grid, woo), but mipmaps need to be a multiple of 16, so that's not presently possible. :(
The res will still suck though. _lmscale on a func_detail is the easy engine-specific way I'd do it, but if you want to instead double the texel density then just change the scale and halve the distances - just remember that doubling the projected texels from 16 to 32 is actually 15 to 31 luxels, which is NOT doubled, so 124qu instead of 120qu from the surface (and along from the minimum point of the surface - this is the point the lightmap is aligned to).
|