Q3Map2 2.5.16 : lightmaps passing through brush HELP ME!!


(codey_) #21

Please don’t use my texture folder name as I use it in a map. Edit both file paths in the shader like this:

textures/faro/shadow

Move the shadow.tga to your faro folder (then delete the codey1 folder) and make sure your shaderlist.txt includes:

faro

That should do it.
cheers


(ratty redemption) #22

@obsidian, can you post any dedicated light blocking shaders you use, because the one codey and I are using is not nodraw, hence the image stage, and in my tests normal nodraw shaders like caulk don`t block sun light as well.

heres some pics from the ja version of the sample map Im soon going to be releasing.

pic 1 shows the highlighted light blocking brushes in radiant.

this is not the whole map, just a region of it, also caulk is filtered, and I removed the qer trans from the shader so it`s easier to see with my radiant colors and editor images.

pic 2 was taken in game with r_showtris, it shows there are tris from the light blocking brushes, despite their image stage being invisible.

pic 3 is the effect of the light blocking.

the cave is ment to be dark, but some of you guys might not be able to see much of it, depending on your gamma, brightness settings.

note the sun light in the top left of the pic is ment to be there as it`s the cave entrance, and the right side is an unfinished tunnel section, which light would normally leak into in the non regioned map, despite the caves being under ground with caulked visible brushes above ground… iow the light blocking is definitely working in this case.

btw, here is another way of writing this type of shader, but the results are the same as the one codey and I have been using.

textures/_ratty_terrain/light_block
{
	qer_editorimage textures/_ratty_terrain/nodraw.tga
	q3map_nolightmap
	surfaceparm nonsolid
	surfaceparm nomarks
	surfaceparm noimpact
	{
		map $whiteimage
		rgbgen const ( 0 0 0 )
		blendfunc add
	}
}

pic 4 is with the light blocking brushes painted entirely with caulk, which in these tests produced the same leaks as using no light blocking brushes at all.

even with darker gamma settings, hopefully everyone here will be able to see the leaks on the right side tunnel.

most of the shaders shown here are lightmapped dp2 with some alpha volume blending.

in the middle of the pic is where I used some vertex lit, polygon offset ‘decal’ shaders to cover seams between say x and y axis orientated shaders, here the vertex lit ones are being affected by the light leaks… as opposed to in the previous pic where their vertex brightness is almost identical to the light map brightness underneath them.

I hope that makes sense?


(Q.) #23

ok! :nod:


(obsidian) #24

BTW, when I said, “Light blocking shaders are usually nodraw” I meant not drawing (as in will not appear in game), not the actual nodraw shader. I don’t use a dedicated light blocking shader, caulk does the trick for me. With your light blocking shader, you will be creating additional tris.

If you create a simple box map, top and walls textured with a sky shader, bottom textured with any generic lightmapped texture, and then create a floating block of caulk, the floating caulk brush should cast a shadow onto the floor. At least that’s what it does in Q3, not sure about JA or anything else.


// default Quake 3 caulk shader
textures/common/caulk
{
	surfaceparm nodraw
	surfaceparm nolightmap
	surfaceparm nomarks
}


(ratty redemption) #25

I`ve just done some more tests in ja (using q3map2 2.5.16) and caulk will cast shadows from my q3map_sunext sky shader, but it only seems to do so if the brushes are structural …same with nodraw nonsolid, which previously I had only tested on detail brushes when Q asked me to test it, but the dedicated light blocking shader will block light with both detail brushes and structural ones… weird eh?


(ratty redemption) #26

another thing Ive just noticed is the ja caulk shader is written the same as you said q3 uses, but the et and rtcw shaders I have, dont use the nolightmap line, also I assume surfaceparm nolightmap is the same as q3map_nolightmap?


(ydnar) #27

All of the original post’s screenshots are of large brushes being shadowed by thin brushes that are smaller (thinner) than the aggregate lightmap sample size of the large brush.

You have to either split up your geometry into multiple brushes, func_group and use_lightmapscale, or both.

Using shadow-casting shaders isn’t the best idea, as it just adds additional geometry to be lit/rendered in game, even though you can’t see it.


(ratty redemption) #28

good tips ydnar, and I agree if we can use caulk on solid structural brushes to block light then we should, and just use the dedicated light blocking shader for when we need the players or weapon projectiles to pass through the brush, like in a doorway.


(Kyashan) #29

===================================================

[b]In Penombra (beta version) same images by Kyashan 2004 (Italy - Rome)

[/b]

This is my first map for Quake III Arena. These are some images by various points of view in my map (slide show).

this is the link to file: http://xoomer.virgilio.it/ale.rigitano/in_Penombra.rar

To create my map I have used:
GtkRadiant 1.2.13 and Q3map2 2.5.16 (thanks Ydnar… you are great)
PC dual processor Pentium III @ 1Ghz - 2GB of RAM - GeForce 3 with 64MB RAM

Thing thought of it ?

P.S. I want to use the method caulk hull but I don’t know whether to do. I have read some

tutorials but I don’t understand :stuck_out_tongue: Can someone explain in few words as to use this method?

Thank you

P.S. in the file bspc I have found this note: WARNING: Over 90 percent structural map detected. Compile time may be adversely affected.

P.S. while game in some points the map goes jerky ex: 8 / 12 FPS :frowning:

  • to create the map I have used structural brush
  • caulk all unseen faces
  • miter corners

How can I optimize my map even more… help me?

To brief the map will be available online… The hopes likes you!!

Hi to everybody … talk to you soon…
Merry Christmas
Kyashan (Italy - Rome)

pikkio_3d@hotmail.com

===================================================


(ratty redemption) #30

this isnt the best description of a caulk hull, but try making most of the brushes that *dont* touch the outside void detail, and leave some structural ones for walls that don`t have windows or holes in them, as this will help block vis.


(obsidian) #31

There’s no way that I can explain caulk hull in a few words, heh. It’s a difficult enough concept for beginners to get their heads around. Did you read that tutorial that I posted above. It’s the best caulk hull tutorial that I’ve ever read. Download the sample map and study it.

On optimization, you want to convert all your non-vis-blocking brushes to detail to increase vis-compile times. Doing this doesn’t really speed up in-game performance, but can knock off a significant portion of your compile times. Keep the hull (brushes sealing the void) and all vis-blocking brushes structural.

To gain better frame rates, you can try using hint brushes (look for some good hinting tutorials).

You can try running around your map with “/r_showtris 1” to see if there are any particular places where your video card is rendering a significant portion of your map. Try optimizing those areas with hint.