Post Your Irrlicht Screenshots / Render Here.

Post your questions, suggestions and experiences regarding to Image manipulation, 3d modeling and level editing for the Irrlicht engine here.
RdR
Competition winner
Posts: 273
Joined: Tue Mar 29, 2011 2:58 pm
Contact:

Re: Post Your Irrlicht Screenshots / Render Here.

Post by RdR »

Started on IK for my animation system.

Implemented CCD (Cyclic Coordinate Descent):
http://youtu.be/V4qO_CcbIYU
http://youtu.be/CjPxA2vuhVg

Edit:
http://youtu.be/xinNK498OxA
rubenwardy
Posts: 91
Joined: Mon Mar 05, 2012 4:51 pm
Location: Bristol, UK
Contact:

Re: Post Your Irrlicht Screenshots / Render Here.

Post by rubenwardy »

wing64 wrote:ARSA Framework - Sponza Rendering
RenderTexture: 1920x1080, ShadowMap: 512 (2 split), SSAO: 512, FXAA
FPS:31, Triangles 837,537
CPU: i7-930, Redon4670
final:
...
Very nice! That is amazing!
wing64
Competition winner
Posts: 242
Joined: Wed Jul 23, 2008 2:35 am
Location: Thailand
Contact:

Re: Post Your Irrlicht Screenshots / Render Here.

Post by wing64 »

Thanks :)
hendu
Posts: 2600
Joined: Sat Dec 18, 2010 12:53 pm

Re: Post Your Irrlicht Screenshots / Render Here.

Post by hendu »

Image

Untuned rectilinear shadow map vs traditional shadow map. Both 512x512. Guess which is which.
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Post Your Irrlicht Screenshots / Render Here.

Post by devsh »

I tell you what you should do..

While PSSM promises the best pixel usage/coverage
You should use CSM because you can make the ShadowMaps clamp to world coordinates and jump across instead of moving smoothly (which is better for temporal aliasing, less pixel swimming as you move the camera)

Then, you should also use VSM or something like that for smooth shadows, maybe it can be enough to hide PSSM swimming artifacts (unless you can clamp separate splits' pixels to world coordinates)

Finally your frustum splits should be split at logarithmic boundaries

Code: Select all

 
splitNearDistance = pow(fullFrustumNearDist,1.0-float(splitID)/numOfSplits)*pow(fullFrustumFarDist,float(splitID)/numOfSplits);
splitFarDistance = pow(fullFrustumNearDist,1.0-float(splitID+1)/numOfSplits)*pow(fullFrustumFarDist,float(splitID+1)/numOfSplits);
 
where spltID starts counting at 0 like an index
THIS IS REALLY THE BEST SPLIT SCHEME GIVING BEST SAMPLING RAITOS

If using deferred rendering, or at least occlusion queries with a depth pass... you can know the expected maximum and minimum expected depths of all pixels within the image
You need to pingpong the depth attachment of the render target minimizing each time by performing the max() and min() functions on groups of pixels (maybe 4x4, shrink by factor of 4 each time)
Obviously ignore the "background" pixel depths, i.e. whatever the depth gets cleared to

Then you can get a LOT BETTER COVERAGE

Code: Select all

 
splitNearDistance = pow(minDetectedDist,1.0-float(splitID)/numOfSplits)*pow(maxDetectedDist,float(splitID)/numOfSplits);
splitFarDistance = pow(minDetectedDist,1.0-float(splitID+1)/numOfSplits)*pow(maxDetectedDist,float(splitID+1)/numOfSplits);
 
because usually if you split logarithmically, none of the pixels on the screen will use the first split Shadow Map

THEN if you want even more quality... Trapezoid Shadow Maps (improvement upon Perspective Shadow Maps which provide more detail near the camera), then you can stretch the shadowmap in a way that will give you more pixels near the viewer.

After performing all of the 4 above, you're at Crysis Quality shadowmapping



P.S. if you want performance, use geometry shaders and MRTs to draw to all splits of the ShadowMaps at once (4 splits should almost always be enough, and most of the time 4 is excessive)
hendu
Posts: 2600
Joined: Sat Dec 18, 2010 12:53 pm

Re: Post Your Irrlicht Screenshots / Render Here.

Post by hendu »

This is funny :) You should look up the term before comparing other techniques.

Rectilinear shadow maps are far superior to all the ones you mentioned. It's a newer technique (2012) that creates a single shadow map. No splits. No geometry shaders. No perspective aliasing. No multiple rendering.

It is faster than CSM while having better quality. It does not need splits or multiple maps. It's much simpler, which is simply great when it's also faster and better quality ;) (Note: my picture is untuned as mentioned. See the paper for a proper comparison.)
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Post Your Irrlicht Screenshots / Render Here.

Post by devsh »

I would dispute the claim of better quality than CSM

sure, its clever but the distortion introduces the need for tesellation and basically gives you the same issues as using non-linear transform shadowmaps for point lights in deferred rendering (Dual Paraboloid or Spheremap)

plus if you really claim rectilinear is superior... why not swap Light Perspective Shadow Mapping for Rectilinear Shadowmapping as your method of perspective adjustment
hendu
Posts: 2600
Joined: Sat Dec 18, 2010 12:53 pm

Re: Post Your Irrlicht Screenshots / Render Here.

Post by hendu »

sure, its clever but the distortion introduces the need for tesellation and basically gives you the same issues as using non-linear transform shadowmaps for point lights in deferred rendering (Dual Paraboloid or Spheremap)
While it does need somewhat tesselated data (no huge triangles), it works fine without dynamic tesselation - the minor errors aren't that noticable once the shadow is softened. For the particular errors of paraboloid (the infinity/singularity), those don't appear.
plus if you really claim rectilinear is superior... why not swap Light Perspective Shadow Mapping for Rectilinear Shadowmapping as your method of perspective adjustment
It seems like a step down to me. While also a type of warping, it leaves it at a perspective setting, while rectilinear allows any number of importance parameters, starting from only covering visible pixels.
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Post Your Irrlicht Screenshots / Render Here.

Post by devsh »

I knew something was wrong with rectilinear shadowmapping

it took a while to get.... all soft-shadow techniques will fail or be terribly hard to implement due to random size changes and you will get really bad non-uniform size penumbra as well as the penumbra will be blurred in really weird skewed elipses
hendu
Posts: 2600
Joined: Sat Dec 18, 2010 12:53 pm

Re: Post Your Irrlicht Screenshots / Render Here.

Post by hendu »

Huh? What are you talking about? Soft shadows are completely separate, RT only does hard shadows. Penumbra width depends on your soft shadow tech.

You are correct that percentage closer filtering and its derivatives wouldn't work well with the changing texel sizes, but there are many other soft shadow techniques.
ent1ty
Competition winner
Posts: 1106
Joined: Sun Nov 08, 2009 11:09 am

Re: Post Your Irrlicht Screenshots / Render Here.

Post by ent1ty »

Spamming the forum with lots of hi-res pictures, and no, no idea why :P
irrRenderer 1.0
Height2Normal v. 2.1 - convert height maps to normal maps

Step back! I have a void pointer, and I'm not afraid to use it!
chronologicaldot
Competition winner
Posts: 688
Joined: Mon Sep 10, 2012 8:51 am

Re: Post Your Irrlicht Screenshots / Render Here.

Post by chronologicaldot »

Oo! Oo! I can add to that! I see white-edged boxes! XP
ent1ty
Competition winner
Posts: 1106
Joined: Sun Nov 08, 2009 11:09 am

Re: Post Your Irrlicht Screenshots / Render Here.

Post by ent1ty »

white-edged are my favorite kind of boxes :)
irrRenderer 1.0
Height2Normal v. 2.1 - convert height maps to normal maps

Step back! I have a void pointer, and I'm not afraid to use it!
hendu
Posts: 2600
Joined: Sat Dec 18, 2010 12:53 pm

Re: Post Your Irrlicht Screenshots / Render Here.

Post by hendu »

I quite like the bloom on top of the blue lines. It gives a tron-like feel. Now if they only were AA'd.
Post Reply