Since the Caelum precipitation effects are a somewhat nice addition, the observed performance hit in a production scenario can be bothering.
The project I was working on used Caelum's effects to add precipitation support, but the frame-rate decreased by 30 units when they were activated (all in all, Caelum uses a compositor, and that can be quite slow).
As an alternative, one can use a camera centered ellipsoid. This object can be textured with layers of precipitation pattern textures and the snow fall or rain fall is further tweaked in the shaders (e.g. texture mapping, offsetting, fall velocity). The
ellipsoid offers a nice depth impression as it's normally perpendicular to the ground, but it can smoothly pan and tilt when the camera moves to achieve a more dynamic behavior. The precipitation material uses alpha rejection with alpha to coverage, which is twice as fast and looks "almost"as good as an alpha blended material. The frame rate drops only by 7 fps on average, which is a major improvement over the 30fps loss that Caelum comes with.
So, whomever wishes to know more about this, feel free to post questions or suggestions. This is a tested and accepted alternative to the standard Caelum precipitation suite of effects, so if your system used that, give this idea a go.
[youtube]6OVOCmciHYw[/youtube]
(Sorry for the poor terrain quality, this is just a demo scene that I prepared hastily).
Precipitations alternative to Caelum's Controller
- teodron
- Halfling
- Posts: 78
- Joined: Fri Jul 22, 2011 11:49 am
- Location: Bucharest, Romania
- x 3
- tod
- Troll
- Posts: 1394
- Joined: Wed Aug 02, 2006 9:41 am
- Location: Bucharest
- x 94
- Contact:
Re: Precipitations alternative to Caelum's Controller
Hello fellow Romanian guy!
I would like more details. Like, what other effects have you implemented, and what must one do to get their hands on them? Also, you talk about Caelum, is your solution integrated with it? Does it follow the same API or something?
I would like more details. Like, what other effects have you implemented, and what must one do to get their hands on them? Also, you talk about Caelum, is your solution integrated with it? Does it follow the same API or something?