Yep
#105 posted by ericw on 2015/08/16 02:39:43
you can set "_anglesense" per-light.
When I get a chance I'll try playing with normal smoothing again. The first time I tried it I was still getting hard edges, e.g. with sunlight shining on an octagonal pillar.
#106 posted by ptoing on 2015/08/16 02:50:14
It's too bad you can not assign any values to brushes, that way it could be controlled on a brush basis, which would make more sense from a user perspective. But having it as a global variable with an angle threshold should be enough I think. Maybe additional value for func_walls, func_detail and such might make sense.
#107 posted by necros on 2015/08/16 04:46:44
ericw: normal smoothing?? so like phong shading? that would be insane.
Ericw
phong shading would be sweet... how will it be implemented though? Quake 2 allows surface flags to be set but there's nothing like that in Quake 1.
Super Hacky Way Of Doing Shit...
#109 posted by ptoing on 2015/08/16 05:02:01
might be to do it via textures. Basically have a version of the level which you just use to generate smoothing group data and compile before the other stuff or something. You could just have it be a bunch of textures that correspond to SG01, SG02, SG03..
That would probably be a pain in the ass to do though. Just plopping out dumb ideas here.
Or it could be integrated into the editor somehow, which just generates some file based on which faces the user has combined into a smoothing group.
Half-Life
#110 posted by DaZ on 2015/08/16 05:16:19
HL's light compiler uses Phong to shade smooth curves. You can also setup "smooth groups" in hammer that can tell the compiler what brushes to perform smooth lighting on. A good place to start!
A Long Long Time Ago
#111 posted by damage_inc on 2015/08/16 07:26:36
I think I remember playing around with WC and you could assign a value(-1?) to a brush face(I used an octagon) and then when you compiled the map you could not see any hard edges? If you looked at the floor you could tell it was an octagon but otherwise no.
Am I crazy or does anyone else remember this?
Damage_inc
#112 posted by - on 2015/08/16 07:51:35
Are you thinking of Quake2 mapping? because ArghRad added a feature for phong shading via that method. Quake2 let you specify surface properties per face, so you could stick values into properties to set up smoothing groups for the compiler. (IIRC, you set a brightness value for the face as the smoothing group number, but didn't turn on the face's 'emits light' flag and ArghRad would look for that pattern)
Quake's .map format doesn't support any per face values, so there's no place to store any values for the compiler to know which faces to smooth.
Ohhhh... Yes Scampie
#113 posted by damage_inc on 2015/08/16 08:48:58
That's it! Now I remember, it was When I was teaching a friend Quake2 mapping. Thanks.
DaZ
#114 posted by kaffikopp on 2015/08/16 17:17:45
Trying to use your fgd with Hammer (not Jackhammer) causes it to crash. Any idea why this occurs? The standard fgd by czg works fine.
Hmm
#115 posted by DaZ on 2015/08/16 23:10:48
I haven't tested it with Hammer at all, I imagine there some syntax craziness going on!
What Do These Error Messages Mean?
*** WARNING 12: New portal was clipped away in CutNodePortals_r
*** WARNING 16: Texture __TB_empty not found
I got them while compiling a TB2-made map using qbsp from this branch. I've been compiling every so often to test things out and I mostly do not get any errors. Would just like to know what I could have changed that would have resulted in these errors (and hence what I should avoid doing in future).
#117 posted by Rick on 2015/08/22 00:10:05
CutNodePortals_r is usually caused by complex brushwork, often occurs where several planes meet at one point and/or there are brushes with vertexes off the grid. If it gave coordinates, look there in your map to see what could be the cause.
Example, txqbsp_xt will report it like this:
WARNING:CutNodePortals_r: new portal was clipped away near (2592 -518 -40)
Texture TB_empty sounds like some kind of missing texture error where TB substituted "Texture __TB_empty" in it's place of its name.
#118 posted by Rick on 2015/08/22 00:15:42
Depending on where it is, you can often just ignore a CutNodePortals_r warning, but sometimes it causes small invisible walls that'll block player movement. Turning complicated brushwork in the area of the warning into func_walls will also sometimes fix it.
I got a lot of this in my jam6 map due to the weird brushes making the damaged walkway, so I just made them a func_wall.
#119 posted by - on 2015/08/22 00:21:14
"__TB_empty" is the texture name Trenchbroom puts on a face with no texture. If you know the brush, you put a texture on it, if not, do a find/replace in notepad or something and search for "__TB_empty" and replace it with some other texturename (Does TB/TB2 have a texture find/replace? if so, use that)
__TB_empty
is used when you have a face without a texture. TB2 has to insert some string as the texture name, and this is the placeholder it uses for such situations.
#121 posted by ma†echa on 2015/08/22 00:36:39
"" is a string, no? :) :) :)
srsly tho, yeah, I opened my .map in Sublime Text and did a find/replace
Thank You Very Much, Rick, Scampie And SleepwalkR
...for both explaining what causes those errors and giving me pointers on how to fix them (or potentially work around them, in the case of CutNodePortals_r).
Matecha
Texture names are not quoted in the map file. God knows how different compilers would interpret "".
#124 posted by - on 2015/08/22 00:48:36
Radiant uses a blank space, luckily it also recognizes that blank space as something you can find and replace in the editor.
Ericw
#125 posted by Rick on 2015/08/22 01:17:14
By the way, my favorite new feature of the light utility is the ability for func_walls to cast shadows. I used it a several times in my jam 6 map. The 12 fingered torchieres in the lava and the hanging lanterns beside the last steps up are all func_walls casting cool looking shadows.
#126 posted by ericw on 2015/08/22 01:23:48
I think Tyrann added that, but yeah it's awesome!
Agreed
#127 posted by - on 2015/08/22 01:30:11
I used "_shadow" key quite a bit... but there's one obvious spot where it caused an issue that I should've worked around: A func_illusionary with "_shadow" "1" on the floor casts blackness on the floor below it, so any dynamic entity on top of that func_illusionary will be unlit because it uses the lightmap of the solid floor (which is fully shadowed) as the brightness of the entity above it. This isn't a compiler problem, it works as intended, but can be unexpected that that is how it works. This is why there is a fully dark Ogre in the map.
I had to do that because of a clipping error, but I should've tried some other things to fix it, but it was getting really close to the deadline.
#128 posted by Rick on 2015/08/22 02:11:18
That's similar to the old "black scrags against a bright sky" thing that many maps suffer from.
To fix that particular problem you had, sometimes you can put a func_wall floor underneath to catch the shadow, then put a real floor below that which is lit normally to provide the entity lighting. But it can be tricky to get the brightness balanced.
Yeah, that deadline was a pain :)
#129 posted by necros on 2015/08/23 20:12:23
been meaning the mention this... -fast is missing from light.exe... Could we have this back, since it can take 20-30 minutes to light stuff now with all those deviant lights and such...
|