Jump to content

Home

There are lights shining through the corners!


King_Jay

Recommended Posts

You should use the "caulk" texture on the unseen faces of all brushes, for example where walls meet each other or the walls meet the floor. Otherwise, lighmaps will be calculated for brush faces that aren't visible, and those lightmaps will "leak" out from underneath brushes.

 

// Grudge

Link to comment
Share on other sites

I just got a crisis with my cantina because of that stupid thing! :( When creating it I didn't use chaulk (was pretty new to mapping then) and now I have a lightend up spot in the middle of a dark cantina- was about to give up developing the cantina any further, but I know of a tool for Q3 that chaulks all unseen walls, hopefully the developer of that will have pitty with us and convert it to JK2 too. Until then I'm trying to figure out if I can find any other way to stop those lights from shining in :(

Link to comment
Share on other sites

Originally posted by UniKorn

This option is not available all the time. Sometimes you got to rework your lighting, and work more with a lot of small lights that emit less light than 1 light that emits a lot of light.

 

I don't agree with you. Of course the option is available all the time. It has to do with how you should build your level. Your suggestion only treats the "symptoms", it doesn't deal with the real problem...

 

...which is that lightmaps are created that aren't visible but are drawn by the engine - and the lightmaps are also placed where you don't want them (e.g. leaking).

 

Look at this example:

 

jk2_1.jpg

 

The floor is one big brush and the unseen faces are not caulked. Then it looks like this in the game:

 

jk2_3.jpg

 

That's not very good. The lightmap created by the bright light on the other side of the wall becomes too large and "creeps" under the wall.

 

So if you divide the floor into several pieces and caulk the unseen faces like this:

 

jk2_2.jpg

 

you avoid incorrect lightmaps, and you also get higher performance in-game because the engine doesn't have to draw things you can't see.

 

jk2_4.jpg

 

Cool, eh? ;)

 

// Grudge

Link to comment
Share on other sites

;)

 

Let me explain what I mean :

 

suppose you got a room floating in a room.

 

The room in the room has a very complex structure => mitering isn't always possible => there is no way to make all unseen faces caulked => you will get the weird lighting effect.

 

Only solution is to work with small lightvalues so that the light doesn't get through.

 

I wasn't contradicting your explanation, I was focusing on the fact that it isn't always possible to caulk all unseen faces.

 

;)

Link to comment
Share on other sites

Hmm, ok I see what you mean. Although I've never been in a situation where I wasn't able to caulk all unseen faces. You can almost always split a brush in two if needed (the clipping tool is your best friend :D ).

 

But I guess there could be situations when it would be a helluva lot of work, and simply not worth it.

 

I do believe, however, that you should always at least aim towards trying to caulk everything you can't see. Oh, and split large brushes if necessary. It makes life so much easier... ;)

 

// Grudge

Link to comment
Share on other sites

Originally posted by Grudge

and you also get higher performance in-game because the engine doesn't have to draw things you can't see.

 

Cool, eh? ;)

 

 

Hmm, tho you got rid of stretching lightmap problem, you created twice as many brushes and it seems that actual visible tris count remained the same if not bigger. (at least in this example). So, where exactly is the performance gain here?

Link to comment
Share on other sites

Actually, the tris count in-game doesn't really get higher (not most of the time at least) if you use many small brushes instead of a few large ones. It may seem so, but when doing the bsp, the compiler breaks up larger brushes, and actually creates many tris out of a large brush at places where it intersects with other brushes (the t-junctions).

 

So, if I have a large floor brush, on which I place structures of different shapes, it will be broken up into smaller pieces where it intersects with the structures in the compiling process. You can avoid unneccesary t-junction splits by splitting the brush up by yourself. Better control, better performance.

 

This article by SpoG explains the process:

 

Q3map explanation

 

This is a very interesting thread:

 

http://www.quake3world.com/ubb/Forum6/HTML/020488.html

 

It explains the benifit of caulk, and the performance gain. It also explains an alternative building method (with all structural brushes caulked, and all textured brushes as detail, but I haven't got around to using that method myself yet, although it's probably the best one performance-wize). There was another thread wher Q actually tested the theory, and it proved that it worked, but I can't seem to find that one right now.

 

Also - high r-speeds doesn't always mean low fps either. :)

 

It's damn complicated. But it's right - the compiler caulks most of the unseen faces by itself. But not all of them. And by building neat and tidy, and understanding the compiling process, you can really push the performance limits.

 

EDIT: Oh, I found the thread:

 

http://www.quake3world.com/ubb/Forum6/HTML/020822.html

 

This whole matter has also to do with if the brushes are structural or detail. I haven't got time to go into that right now, mot most of it can be figured out by checking out the links above.

 

// Grudge

Link to comment
Share on other sites

ok this may be very bad practice but.......... all i do is make sure all i can see is the actual structures, no doors, func groups, detail curves etc. Then i select it all and select make detail, then make structural, and heypresto insta caulk, you still need to touch up a few areas but it cuts the workload down no end!

Link to comment
Share on other sites

Interesting stuff. Thanks for the links. I am familar with this "alternative" building method when first you build a caulked hull and all other brushwork is detail. But, man, you gotta have lost of experience to build maps like Quakin does and you also gotta be a perfectionistic die-hard. :D

Even Raven's pros aren't that pedantic in their work. Like it was said in one of those threads, sometimes it's just not worth it, doing all this stuff to increase performance by a lil bit given all high system specs ppl have nowadays. This is certainly not something for newbies to be concerned about, IMO.

Link to comment
Share on other sites

Cunnah: Cool! I didn't know you could do that. I've got to try that out.

 

Xcom: Yeah, rather few actually use that method. It's really really perfectionalistic. :D I don't think it's worth the hassle. I've tried it, but found it very hard to select the brushes I wanted, because so many of them overlaps one another.

 

// Grudge

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...