q3map 2.5.2 and lighting..


(Sub-Zero) #1

Since switching to 2.5.2 from 2.3.38, I noticed there’s a ‘seam’ of light that appears under patches even with -patchshadows enabled. This did not happen in 2.3.38 and I have not changed the map. Am I missing something?

Here’s a ss…
http://home.earthlink.net/~tiggertl/shots/shot0001.jpg


(ydnar) #2

Hm, that map looks familiar… :slight_smile:

The raytracing code in 2.5 is completely new. There may be some places (like this) where sunlight might appear where it previously did not. The reason this is is because sunlight is only shadowed by visible surfaces, not by brushes or the “void.”

To alleviate your problem, put a patch or brush faces above the affected area so those luxels will be in shadow.

y


(Sub-Zero) #3

Heh yeah well its getting tweaked for a mappack, that’s why I’m still working on it haha.

Anyway, I remember going through this with you awhile back :stuck_out_tongue: and that is what you told me to do. That mesh with the lights on it has a caulked copy of it 64 units above to block the surface and sunlights of the skybox. Is caulk no longer considered ‘visible’? If so, then what shader should I use that will be visible to the lighting algorithm yet still not draw in-game? Thanks for your help.


(Old_Fellow) #4

textures/common/invisible // solid, transparent polygons, casts shadows
{
surfaceparm nolightmap
{
map textures/common/invisible.tga
alphaFunc GE128
depthWrite
rgbGen vertex
}
}


(ydnar) #5

Patches with nodraw shaders no longer cast shadows in 2.5. This is because of the -patchmeta code, which keeps patches in the BSP for collision purposes, but stores them using a bogus nodraw shader so they won’t cast shadows or otherwise interfere with the meta meshes they were turned into.

y


(Valhue2) #6

what about inplimenting a new shader effect to the effect like: it blocks light, cant be seen in game, and is nonsolid.

V^2


(ydnar) #7

Heh, you’re right.

Just make a brush entity with the patches you want to cast shadows, and give it the key “_castShadows” “1”. Make sure it’s a bogus entity classname, and it won’t be in-game, but Q3Map2 will make sure it casts shadows.

y


(Valhue2) #8

:banana:

V^2


(Sub-Zero) #9

Meaning create a func_group (and then change the classname) out of the patches? Or can I only use brushes?

In either case, thank you for reminding me of the ‘invisible’ shader. I totally forgot about it, hehe. It worked great…


(ydnar) #10

No, not a func_group. Those get merged into worldspawn.

Although you can make func_group entities not cast shadows or recieve shadows by giving them different _castShadows/_cs or _receiveShadows/_rs keys.

y


(Sub-Zero) #11

I am just confused as how to “make a brush entity with the patches”
huh? :slight_smile: The only way this makes sense to me is to select the patches, func_group them, then with it selected hit ‘n’ and change the classname to some bogus name. Is this right?


(ydnar) #12

Oh yeah. Right. Sorry, I spaced that one… :slight_smile: