Sending shadow blur hull-side


At the moment, blur is an overarching effect handled through KryptonEngine, and applied to all shadows. It'd be really handy to be able to set that on a hull-by-hull basis, so some objects cast blurred shadows, others crisper ones.

I expect this is a huge hit on performance, but thought I'd throw it out there as it's something I'd find very handy.


xixonia wrote Feb 9, 2011 at 6:19 PM

Good idea. I'll look in to how this can be done, but it probably won't be included in the official Krypton v2.0 release (maybe a later revision).

xixonia wrote Feb 9, 2011 at 6:22 PM

What are your thoughts on MRT and utilizing that for per-hull blur?

thezombiecow wrote Feb 10, 2011 at 9:08 AM

I'd suggest whatever's easiest my end, tbh ;)

MRT sounds great in theory, as long as it's kept simple this side... ??

xixonia wrote Feb 11, 2011 at 1:59 AM

That's pretty much what I'm getting at. Some graphics devices don't support multiple render targets. The Xbox does, but some PCs might not. Thoughts?

thezombiecow wrote Feb 11, 2011 at 10:02 AM

Hm, sounds like it might be an issue then. I was under the impression that most computers these days handled MRT fine, but I'll bow to your knowledge.

xixonia wrote Feb 13, 2011 at 12:17 AM

well, most of them do. I'm just curious how important the feature would be to gameplay, as I don't want to implement something that might fail tragically in very small cases.

xixonia wrote Feb 15, 2011 at 2:43 AM

While this is totally possible, it goes against how Krypton is rendering shadow hulls currently. To blur each shadow individually would require either rendering each hull individually and then drawing the shadow, or some extremely tricky trickery (which I'm TOTALLY down for, as soon as I have an epiphany).

This is on the back burner for now.

xixonia wrote Feb 17, 2011 at 1:45 AM

I'm pretty sure this is not going to happen without rendering each hull individually. It's like removing layers from a photoshop file that's been flattened, but without the "undo" button to help you with your mistakes.

Consider all of the shadows draw from a single light as one layer. Those layers are then combined with the other layers from other lights, which finally give the light map. Blurring per light is more sensible, as you could blur "per layer", and say have 10 layers or so (as it's going to be very slow). For shadows, you would be taking that to the Nth degree, and your framerate would drop every time. Distance-based radial blur is an option, however, if we started blurring per light. But again, doing that is going to make things very slow.

Keep in mind that it is the objective of Krypton to balance beauty and performance. However, we're basically talking about severely crippling an F-One racer so we can add Bently-like luxery. That's not exactly the definition of balance. In those cases we should probably just add a TV to the inside of the racer... Wow, it's late. I'm making silly analogies.

xixonia wrote Dec 11, 2011 at 9:54 PM

Still pondering about this.