Brighter Lights, Darker Shadows

Blitz3D Forums/Blitz3D Programming/Brighter Lights, Darker Shadows

xcessive(Posted 2011) [#1]
I have recently purchased Blitz3D mainly to have a little fun with it and just mess around a bit reveling in how easy it is to create simple 3d scenes as compared to other engines I have used. However, one thing thats REALLY bothering is how drab the lighting looks. Don't get me wrong I wasn't expecting dramatic Cryengine lighting with bloom and HDR shaders with dynamic shadows. But I was hoping for at the least a little more.. contrast? This is slightly important to me as I was wanted to make a simple horror game. Think parts of Doom3 for example (http://www.gearlive.com/blogimages/Doom3.jpg). Of course I'm not expecting anywhere near those results, but I just want the bright vertex's (blitz3d uses per vertex lighting right?) to look bright and the dark ones to look.. well.. really dark!

Long story short, how do I make the lighting, and shading (shadowing, but not ACTUAL shadows) look sharper and more contrasted. I tried using SetGamma, but I didn't really get a noticeable effect.

Thanks!


Kryzon(Posted 2011) [#2]
Ah, and then there was the Lightmap. And Vertex-Coloring.

By using lightmaps you can bake (magic word) lighting information into textures, and by use of blending have those textures make your environment look dark, bright, anything you want. It's a solution to provide static shadows.
You need an application to generate your lightmap, such as SlimShady. There are tons of ways to make lightmaps, so make sure to find out the way to make one with the modelling tool you're currently using.

And Vertex-Coloring. Well, there's no need to repeat myself.

Also follows a couple of screenshots showing a Super Mario Sunshine level WITH vertex coloring, WITHOUT it, and with vertex coloring ONLY, just to show the effect (keep in mind that level is cut up appropriately so the polygons shape up to make those vertex-colored shadows).

These forums also have some threads on the subject: http://blitzbasic.com/Community/posts.php?topic=90523 (from which I took those three mario sunshine screens).

EDIT: Since you can blend all kinds of shading applied to meshes, Lightmaps and vertex-coloring can be combined. So you have a lightmap giving you soft-shadows and vertex coloring shading the environment not only with dark colors but with other tones as well, to give some atmosphere and interest.

Last edited 2011


xcessive(Posted 2011) [#3]
Thanks a bunch Kryzon, some really useful resources here, I am especially intrigued by the vertex-colouring.

I actually did some searching of my own and found that AmbientLight r,g,b was the command I was looking for


jfk EO-11110(Posted 2011) [#4]
Ambientlight is indeed what you wanted, but the sooner or later you will use at least static lightmaps, it makes things look so much better. Get Gile[s] for free. It may take some time to become familar with it, but it's worth the troubles.
Slimshady was mentioned, but the latest version of it is in the zipfile "misc tools" that came with the CSP engine release V 10.0, see downloads on http://www.melog.ch/dropper/ . To be honest,I don't think it's such a good lightmapper, I only use it to assemble multiple meshes to one mesh, position point lights in a Gile[s]-comaptible way, then export it for Gile[s], import it there and lightmap it with Gile[s].


Vorderman(Posted 2011) [#5]
You can also use FastExt (http://www.fastlibs.com/libraries.php) which allows lots of lovely post-processing effects such as Contrast, allowing you to massively increase the on-screen contrast, then put some bloom over the top.

The visual difference this makes is huge, and it's very easy to do, just a couple of lines of code before your Renderworld().

You do however need to buy Fastlibs, but that should be an essential buy for any Blitzer anyway as it's fantastic in all respects - FastImage for all your 2d stuff like HUDs etc.., FastText for text (!) and FastExt for all the graphics stuff like shadowing and post-fx.