Screenshots for Irrlicht

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
CuteAlien
Admin
Posts: 9628
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: Screenshots for Irrlicht

Post by CuteAlien »

@ aaammmsterdddam: Thanks for the offer. But I meant - we might have found someone already before your post (over pm's). But glad to see you would also like to help out :-) I guess I should have asked earlier for help there.

Also everyone is always welcome to work on the wiki! We only have about 1 update every ~2 months. I'm sure it could look better if more people helped out.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Cube_
Posts: 1010
Joined: Mon Oct 24, 2011 10:03 pm
Location: 0x45 61 72 74 68 2c 20 69 6e 20 74 68 65 20 73 6f 6c 20 73 79 73 74 65 6d

Re: Screenshots for Irrlicht

Post by Cube_ »

CuteAlien wrote:@ aaammmsterdddam: Thanks for the offer. But I meant - we might have found someone already before your post (over pm's). But glad to see you would also like to help out :-) I guess I should have asked earlier for help there.

Also everyone is always welcome to work on the wiki! We only have about 1 update every ~2 months. I'm sure it could look better if more people helped out.
Oh I figured, but I might as well respond anyway.
In any case, you know where to find me if there's some other task I'm needed for - not sure I'd be of much use for the wiki, what with my eternal posting in the beginner's help forum ;)
"this is not the bottleneck you are looking for"
Vectrotek
Competition winner
Posts: 1087
Joined: Sat May 02, 2015 5:05 pm

Re: Screenshots for Irrlicht

Post by Vectrotek »

Found Tubras!

Image

SOLSIRS.. brought to you by Vectrotek.
"Specular Occluding Light Specific Image Reconstruction Maps" allow us to hide the
Specular of a given Light from its shadow and works much like Baked Lightmaps except, this solves the
problem of a Light's Specular Highlight moving into the Light's Shadow Area when the Camera moves.
Normal-Vanilla Baked Light maps cannot do this. The Light map serves all
the lights whereas SOLSIRS have the Shadows of Max 4 lights encoded into a
single 32 bit image. (more possible but then 4 bits per light needs to be isolated somehow)
Photoshop etc cannot do this, so a converter would have to be written.

It allows for the Specular Highlight caused by "another" Light to move into the shadow of "this"
Light but hides "this" Light's Specular Highlight from "this" Light's Shadow. (confused?)
An extra bonus is, that no matter what your Normal Map does, it remains physically correctly hidden.

The shader still handles the actual Lighting, Colour and Falloff so there is no Lightmaps here.

The project is a mess so I can't post it yet (someday in the future).

Have a close look below how the Specular of the Blue Light is allowed in the Shadow of the Yellow Light.
Yet the Specular of the Yellow Light is "blocked" by the SOLSIR..
If you looked at the Shadow of the Blue Light then the SOLSIR would block the Blue Highlight and
allow the Yellow Highlight.

Image

See in the previews how ID's DOOM MMXVI's engine could NOT solve this problem.. Irrlicht now does! (njaha!)

Other issues:
"Mel" shows a cool way to force the Second Set of UVs for a 2TCoord Vertex into the Vertex Colour.
I did this using "*.irrmesh" so now we have Tangents, Binormals and 2TCoords in a vertex.
There is a slight lossy-ness however (float to char) which is not serious for smaller UV maps.
There is a way to force your UVs onto a 256 by 256 grid, but then something must happen in the
packing and unpacking? Or something like that?

It would really be great if Devs on high could bring in something that looks like this for a future standard release:
(it would avoid having to convert from float to char or whatever Mel's magic works with)

Code: Select all

 
 irr::video::S3DVertexTangents2TCoords::S3DVertexTangents2TCoords (f32 x, f32 y, f32 z, f32
                                                                   nx = 0.0f, f32 ny = 0.0f, f32 nz = 0.0f,
                                                                   SColor c = 0xFFFFFFFF,
                                                                   f32 tu,  f32 tv,   // FIRST set of UV Coords..
                                                                   f32 tu2, f32 tv2   // NEW! SECOND set of UV Coords..
                                                                   f32 tanx = 0.0f, f32 tany = 0.0f, f32 tanz = 0.0f, // Tangents..
                                                                   f32 bx = 0.0f, f32 by = 0.0f, f32 bz = 0.0f        // Binormals..
                                                                  ) 
 
I understand why Nadro said that this would be a major effort as it could break up the rest of the engine workings
but it would be quite cool! It'll probably happen eventually.
REDDemon
Developer
Posts: 1044
Joined: Tue Aug 31, 2010 8:06 pm
Location: Genova (Italy)

Re: Screenshots for Irrlicht

Post by REDDemon »

awesome, you should post a comparison with and without to show how cool it is.
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Screenshots for Irrlicht

Post by devsh »

But wouldn't a 32bit image allow for indexing 32 specific lights?

+ if you did a hierarchical map, then a lower resolution light paging table would allow you to index more than 32 lights, (different sets of 32 lights per i.e. 64x64 superblocks of lightmap pixels)
Vectrotek
Competition winner
Posts: 1087
Joined: Sat May 02, 2015 5:05 pm

Re: Screenshots for Irrlicht

Post by Vectrotek »

Thanks REDDemon! Yes, devsh, that sounds like a cool idea, but the project now resembles a bowl of spagetti!
I must clean it up a bit, but here is the SOLSIR map which is based on the 8 bits per RGBA colour components giving us shadows for
for 4 lights..

You can't see the Alpha used for the 4th "shadow" image..

Image


It's basically the baked shadows four different lights..
The four separate shadow maps are combined in Photoshop or Gimp into R, G, B and A respectively..
If you look at it in a bitmap editor that can show the separate RGBA channels then you'll see how they remain isolated from each other.

Here is a part of the Fragment Shader that isolates the Channels depending on which light is rendered (looped)..

Code: Select all

 
 vec4 MappedImage006  = texture2D(Image006,UVCoordsXYLIGHTMAP); // 8 images still not standard..
 
 //... other code
 
 float LSSM = 1.0;  // Value read from SOLSIR..
 if (LghtI == 0) {LSSM = 1.0;}  // NO MAP while it is hooked to the camera..
 if (LghtI == 1) {LSSM = MappedImage006.x;} // See how we have channels available for
 if (LghtI == 2) {LSSM = MappedImage006.y;} // the Shadows of FOUR Lights..
 if (LghtI == 3) {LSSM = MappedImage006.z;} // We could encode EIGHT 4 BIT IMAGES into this for EIGHT,
 if (LghtI == 4) {LSSM = MappedImage006.w;} // But that would require a special converter..
 
 //... other code
       
 SpecColledFINAL +=  CurvedIntensity * (( 2.0 * LSSM * LightsColArray[LghtI] * PassFloatArray [FAI_000_GLOBAL_BRIGHTNESS]
 * clamp(pow(clamp(dot(normalize((normalize(CameraPos - VertexGLPosition) +
            normalize(LightsPosArray[LghtI] - VertexGLPosition))),
            FinalNormal),0.0,1.0), pow(2.0, (MappedGloss.x * 10.0)) ), 0.0 , 1.0 )) * MappedSpecular.x);
 
 // more code
 
I'll see when I get time for a "With" and "Without" render..
I've been busy with "Mixmaps" that works on the same principal used for "Splatting" shown in the next reply..
Vectrotek
Competition winner
Posts: 1087
Joined: Sat May 02, 2015 5:05 pm

Re: Screenshots for Irrlicht

Post by Vectrotek »

This might make more sense..
Image
Vectrotek
Competition winner
Posts: 1087
Joined: Sat May 02, 2015 5:05 pm

Re: Screenshots for Irrlicht

Post by Vectrotek »

Its kind of difficult to show when the camera isn't moving but here is another render that shows Red Specular blocked..
Also you can't really see the origin of the light but its clear where it is..
Image Image
Vectrotek
Competition winner
Posts: 1087
Joined: Sat May 02, 2015 5:05 pm

Re: Screenshots for Irrlicht

Post by Vectrotek »

Here the SOLSIR is disabled..
Image
Vectrotek
Competition winner
Posts: 1087
Joined: Sat May 02, 2015 5:05 pm

Re: Screenshots for Irrlicht

Post by Vectrotek »

Anyhow, I've been trying to use the same principal to get Texture splatting and it worked well..
I'll never look at another 3D engine again, that's for sure..
Image
Vectrotek
Competition winner
Posts: 1087
Joined: Sat May 02, 2015 5:05 pm

Re: Screenshots for Irrlicht

Post by Vectrotek »

With a "Mixmap" you also have FOUR different base "Factored Diffuse Values" to choose from..
Here is Two and a Render of the actual "MixMap" using R and G to determine which Diffuse Tile makes it through..
Image

Mixmap..
Image
Vectrotek
Competition winner
Posts: 1087
Joined: Sat May 02, 2015 5:05 pm

Re: Screenshots for Irrlicht

Post by Vectrotek »

I'm also trying to get Shader Fog to work in here but that's a way off..
So much to do and so little time.. :(
Vectrotek
Competition winner
Posts: 1087
Joined: Sat May 02, 2015 5:05 pm

Re: Screenshots for Irrlicht

Post by Vectrotek »

Whatever happens, I will post presentable versions of all the projects..
Thanks for commenting!
Vectrotek
Competition winner
Posts: 1087
Joined: Sat May 02, 2015 5:05 pm

Re: Screenshots for Irrlicht

Post by Vectrotek »

Image
Vectrotek
Competition winner
Posts: 1087
Joined: Sat May 02, 2015 5:05 pm

Re: Screenshots for Irrlicht

Post by Vectrotek »

Image
Post Reply