Key Value Could Work.
#14632 posted by Skiffy on 2015/01/12 17:19:32
I would be curious to try that approach since the per surface value is missing in Q1.
Why Not
#14633 posted by mfx on 2015/01/12 17:22:26
just increase side count to 32?
And r_speeds be damned!
#14634 posted by Kinn on 2015/01/12 17:28:06
(can't mix smooth and hard on the same brush)
Maybe you meant something else, but if the smoothing is governed by a "smooth angle" key, then you could get hard and smooth on the same brush surely.
Anyway, a complication with the func_ approach is that the lighting has to be done once BSP has had its way. At this point you'd have lost your func_group data surely? And really, we'd need this to work on world geometry or it would be pretty pointless.
I Say Try The _smooth Key Approach
#14635 posted by Skiffy on 2015/01/12 17:50:01
And if you want hard and smooth shading mixed on a brush then you will just have to use multiple ones.... Then again having a range on the smooth key could still work.
A pipe that is 8 sided but with a cap would shade smooth on the 8 sides and flat shaded on the cap if you set the smoothing threshold to 50.
Those 8 sides wont go past 45 and the cap is a 90 degree angle.
I would include 2 values though. one for the degree threshold and another for groups simply controlled by another number. That way you can have brushes smooth next to each other but if they don't share the same group they smooth on their own and ignore their neighbor.
its basic and does not allow for more elaborate mixing though.
Hybrid Compiler
#14636 posted by Preach on 2015/01/12 22:40:54
Anyway, a complication with the func_ approach is that the lighting has to be done once BSP has had its way. At this point you'd have lost your func_group data surely? And really, we'd need this to work on world geometry or it would be pretty pointless.
Yeah, you couldn't do it in the traditional way. Possible workaround 1: emit some kind of e1m5rmx.smo file in the bsp pass which contains the relevant smoothing data for the lighting pass, no smoothing if it's absent. Possible workaround 2: Create what might be the first hybrid bsp and light compiler which could remember the smoothing info...
Since you can't really process any lights until the bsp is complete, I'm not sure that option 2 would really be simpler than option 1.
#14637 posted by JneeraZ on 2015/01/12 23:20:14
I'm surprised nobody has done a monolithic compiler app ... one that does it all in one shot - with the possible benefit being what you mentioned, each process being able to have knowledge of what the earlier ones did. Although I guess there's little benefit so why bother?
While Were Talking About Cool Features
#14638 posted by DaZ on 2015/01/12 23:28:28
AO baked into the lightmaps AKA the way CS:GO does it. AO would look awesome with brush architecture but the few engines I've tried to force it "on" in doesn't work.
And While Were On The Subject
#14639 posted by DaZ on 2015/01/12 23:29:20
If there was any way to hack in higher resolution lightmaps that would be lovely too :)
2x Size Textures
#14640 posted by DaZ on 2015/01/12 23:31:26
Something I thought about but never tested was creating 2x size versions of all the textures you are using in the level and then set the default texture scale to .5 so that you would have double resolution lightmaps across your level.
Unsure how it would look/work and some textures would probably be too large at 2x size.
#14642 posted by - on 2015/01/12 23:50:46
http://en.wikipedia.org/wiki/Ambient_occlusion
Doing it as a lightmap means just making extra shadows in corners. Q3map2 has an option to do something like it in Q3. http://en.wikibooks.org/wiki/Q3Map2/Light#-dirty
#14643 posted by necros on 2015/01/13 00:17:53
Do quake lightmaps have enough resolution to support a -dirty AO effect? I guess hence your question regarding higher res lightmaps?
In the old days, I tried this and it does work to give you higher res lightmaps, but you would run out of lightmaps pretty quick.
Of course, these days, there are a lot more lightmaps available...
Heh
#14644 posted by rebb on 2015/01/13 00:21:00
Wish we hadn't called it "dirtmapping" in Q3Map2, but back then pretty much the first popular incarnations of AO were "dirtmap" shaders for 3D apps that were used mainly as masks for gunk and dirt in corners.
#14645 posted by JneeraZ on 2015/01/13 01:04:37
"Something I thought about but never tested was creating 2x size versions of all the textures you are using in the level and then set the default texture scale to .5 so that you would have double resolution lightmaps across your level. "
That's ... a really cool idea!
#14646 posted by Kinn on 2015/01/13 02:00:52
so that you would have double resolution lightmaps across your level.
and presumably quadruple the face count, but i'm guessing no-one cares?
#14647 posted by necros on 2015/01/13 03:33:11
oh right, that was another problem with doing that.
#14648 posted by ericw on 2015/01/13 09:08:59
Just tried to frankenstein the "-dirt" code from q3map2 into tyrutils, and it looks like it could be usable!
http://i.imgur.com/TbxbITN.jpg
(e1m1 with r_lightmap 1, light is just using the AO values and ignoring lights in the map file) Will tidy it up a bit and post a build tomorrow if anyone wants to play with it.
OMG AO!
#14649 posted by Skiffy on 2015/01/13 10:38:49
Yea that does look usable indeed! Sign me up for that :)
Ericw
In the words of Daz, "you are a fuck".
#14648
#14651 posted by Kinn on 2015/01/13 12:04:18
Aye that's the biscuits, nice one :)
Ericw
#14652 posted by DaZ on 2015/01/13 12:36:49
awesome!
#14653 posted by JneeraZ on 2015/01/13 12:50:52
"and presumably quadruple the face count, but i'm guessing no-one cares?"
I guess it depends on the end result. If it looks good enough, it might be worth it.
Not Sure If This Is For Mapping Help, Whatever
#14654 posted by spy on 2015/01/13 19:04:32
#14655 posted by Spirit on 2015/01/13 19:13:21
Does it work in a normal Quake engine without mods?
Yeah The Dp Just Run Quake Fine Without The Error
#14656 posted by spy on 2015/01/13 19:25:28
i guess it's somewhat related to an fte compiler, with its all optimization turned on
i'm just wondering what the hell is vm_vlen 0/1
|