GameMonetize Posted March 27, 2017 Share Posted March 27, 2017 Hello team! as part of 3.0 version, I'm proud to announce the availability of ESM shadows (Exponential Shadow Maps). I updated the great doc done by @Wingnut to take this in account: http://doc.babylonjs.com/tutorials/shadows VSM (variance shadow maps) were removed (to keep backward compatibility the properties are still here but they will trigger a warning in the console). ESM are great because they can be blurred. Here is an example of all kind of shadows we have now: http://www.babylonjs-playground.com/#20FROK#2 ESM are great because they allow you to deal with selfshadowing: http://www.babylonjs-playground.com/#1CXNXC#3 Hope you like it! inteja, adam, Dad72 and 11 others 14 Quote Link to comment Share on other sites More sharing options...
inteja Posted March 27, 2017 Share Posted March 27, 2017 Love it! Quote Link to comment Share on other sites More sharing options...
Wingnut Posted March 28, 2017 Share Posted March 28, 2017 http://www.babylonjs-playground.com/#1CMD3G#30 SO bumpy-edged (acne? heh - a term borrowed from some shadow tutorial contributor), even with a big 4096 shadowGen. hmm. *shrug* Lines 22-33 is experiment zone. I'm probably making mistakes, though. I don't work-with shadows too often. Also, light.shadowMinZ and .shadowMaxZ (for lights used in shadowGenerators) are not included in PG intellisense (as far as I can tell)... but perhaps too new, yet. Just thought I'd mention it. Congrats on the feature-add, DK and crew! I think the shadows tutorial is yours, @Deltakosh. If it were mine, it would contain 20%+ incorrect statements. Quote Link to comment Share on other sites More sharing options...
GameMonetize Posted March 28, 2017 Author Share Posted March 28, 2017 Better? http://www.babylonjs-playground.com/#1CMD3G#33 Quote Link to comment Share on other sites More sharing options...
Wingnut Posted March 28, 2017 Share Posted March 28, 2017 Yeah, that works, but, no. You re-aimed the light. Is the light angle related-to the jaggies? Seems so. Causes diagonal edges, I suppose. http://www.babylonjs-playground.com/#1CMD3G#34 Quote Link to comment Share on other sites More sharing options...
Wingnut Posted March 28, 2017 Share Posted March 28, 2017 But, hmm.. http://www.babylonjs-playground.com/#1CMD3G#35 Orbiting the light around mesh, constantly doing light.setDirectionToTarget... looks good again, even with angled shadow. Ok, I think I'm starting to understand this. Or not. I'm out-of-category a bit. I should start Q/A thread. Quote Link to comment Share on other sites More sharing options...
GameMonetize Posted March 28, 2017 Author Share Posted March 28, 2017 You've got my point:) The position is important for shadows as it give the position to use to cast the shadows Quote Link to comment Share on other sites More sharing options...
Wingnut Posted March 28, 2017 Share Posted March 28, 2017 Yeah, I understand. And... it seems... the directionalLight beams should be the exact same direction... as the angle between light and target POSITIONS (for least jaggies). ie. Set light and target positions first, then light.setDirectionToTarget(target.position) to "get your beams aligned". (it's a log cabin-builder's thing) GameMonetize 1 Quote Link to comment Share on other sites More sharing options...
meteoritool Posted March 30, 2017 Share Posted March 30, 2017 I feel we're getting closer to cascaded shadow maps ;-) It's getting better everyday ! you rock ! GameMonetize 1 Quote Link to comment Share on other sites More sharing options...
iiceman Posted April 10, 2017 Share Posted April 10, 2017 Awesome! Thats really huge! (as DK likes to say) Especially the self-shadowing, that has been bugging me for a while! I have to try that out as soon as possible! (*feeling*excited*) Wingnut 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.