Screenshots for Irrlicht
Re: Screenshots for Irrlicht
@ 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.
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
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
-
- 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
Oh I figured, but I might as well respond anyway.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 outI 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.
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
![Wink ;)](./images/smilies/icon_wink.gif)
"this is not the bottleneck you are looking for"
Re: Screenshots for Irrlicht
Found Tubras!
![Image](http://i67.tinypic.com/20qe1hz.jpg)
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](http://i63.tinypic.com/w000ua.jpg)
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)
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.
![Image](http://i67.tinypic.com/20qe1hz.jpg)
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](http://i63.tinypic.com/w000ua.jpg)
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..
)
but it would be quite cool! It'll probably happen eventually.
Re: Screenshots for Irrlicht
awesome, you should post a comparison with and without to show how cool it is.
Re: Screenshots for Irrlicht
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)
+ 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)
Re: Screenshots for Irrlicht
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](http://i63.tinypic.com/2d824yg.jpg)
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)..
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..
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](http://i63.tinypic.com/2d824yg.jpg)
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've been busy with "Mixmaps" that works on the same principal used for "Splatting" shown in the next reply..
Re: Screenshots for Irrlicht
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](http://i66.tinypic.com/241l5i0.jpg)
Also you can't really see the origin of the light but its clear where it is..
![Image](http://i65.tinypic.com/fm2hzl.jpg)
![Image](http://i66.tinypic.com/241l5i0.jpg)
Re: Screenshots for Irrlicht
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](http://i67.tinypic.com/2li79g3.jpg)
I'll never look at another 3D engine again, that's for sure..
![Image](http://i67.tinypic.com/2li79g3.jpg)
Re: Screenshots for Irrlicht
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](http://i63.tinypic.com/rr7cd5.jpg)
Mixmap..
![Image](http://i67.tinypic.com/2rhmek5.jpg)
Here is Two and a Render of the actual "MixMap" using R and G to determine which Diffuse Tile makes it through..
![Image](http://i63.tinypic.com/rr7cd5.jpg)
Mixmap..
![Image](http://i67.tinypic.com/2rhmek5.jpg)
Re: Screenshots for Irrlicht
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..![Sad :(](./images/smilies/icon_sad.gif)
So much to do and so little time..
![Sad :(](./images/smilies/icon_sad.gif)
Re: Screenshots for Irrlicht
Whatever happens, I will post presentable versions of all the projects..
Thanks for commenting!
Thanks for commenting!