How to make a map without shadows?


(ACROBAT) #1

Someone I know made a map and he wants no shadows. So he ended up compiling using only ambient light (with cel shader) so that it looked cartoonish.

Only problem is that the lightgrid is pitch black so the models are black.

How to solve?

ps- maybe ambient really does affect lightgrid and it was just an error and maybe he just needs a higher resolution or something. I posted that he should just try gridsize 64 64 64 as a work around…unless someone here has a better way?

Happy New Year.


(-SSF-Sage) #2

If you don’t do -light compile you won’t have shadows.


(ACROBAT) #3

…ya but then you would have a fullbright compile and it would look insanely bright with light burns everywhere on all textures.

other ideas please.


(kamikazee) #4

From WikiBooks: Q3Map2 - Light parameters:

-nogrid

    * Disables calculation of the lightgrid.

If disabling the calculation of the lightmaps creates a full-bright map, disabling the lightgrid calculation may create a lightmapped map but with no lightgrid (models displayed at their brightest level).

From what I understand, there are no lights in the map other than the “ambient light”. If he can live with full-bright models, this may do it.


(ACROBAT) #5

no, the fullbright looks terrible of course. The reason he used ambient in the first place was so the lighting looked nice but with no shadows…not really awful like fullbright maps.

Like I said…I think ambient does affect lightgrid or that is my guess but he just needs smaller chunks. I think that’s what he’s trying now…


(obsidian) #6

Try this…
http://www.robotrenegade.com/q3map2/docs/shader_manual/ch4.html#nolightmap

… and since he’ll likely be creating a whole batch of shaders, he can group them together with the same set of directives.
http://www.robotrenegade.com/q3map2/docs/shader_manual/ch1.html#:q3map


(ACROBAT) #7

So is that is essentially just vertex lighting?

He does have cel shader on everything so basically just adding surfacepharm nolightmap to the cel…
And then still using ambient as the light sources…or trying to get even lighting with entity lighting again…


(kamikazee) #8

Instead of using ambient, try using the _minlight and _minVertexLight keys on the worldspawn entity. That might do the trick and might even look better than regular ambient.


(obsidian) #9

Oh… BTW, the lightgrid is still calculated from light entities and light emitting shaders. If you have neither of these in your map and just artificially adding a ‘light’ value in with an ambient value, the lightgrid still considers these areas to be pitch black. In other words, you need to add some lights in the map for the lightgrid to work.


(kamikazee) #10

So I did a quick dig around light.c in the Q3Map2 source. Ambient lighting does not contribute to the lightgrid. However, it seems you can tweak it using the _minxxx settings. Thus far, I found these 3 settings:

_minvertexlight
_mingridlight
_minlight

If you specify only _minlight, the other 2 values are defaulted to the _minlight value. If you specify them, those specific settings are used.

Nifty eh?


(ACROBAT) #11

Yes that’s really sweet, and this is all good info to know. Thanks again.


(ACROBAT) #12

Also,

Just in general besides the question at hand, I think it makes sense to use minlight in the world spawn whenever you choose to use ambient.

Since only light entities and light emiting shaders affect the lightgrid and since ambient doesn’t affect the lightgrid at all, it kind of makes sense to use minlight to manually correct the ambient command when used so that that the ambient command is proportionately affecting the lightgrid.

----->So when you use ambient if you use a minilight of the exact same value…basically it will be as if ambient is affecting the lightgrid (because, again, you added the minlight.)

Make sense? so these two commands should kind of be paired.