Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-08-26 17:42:30 +0000
committerStijn Buys <ingar@osirion.org>2008-08-26 17:42:30 +0000
commitcc0a4412a4ac7f1f78ef7e644a0c06c6dd6dd129 (patch)
tree27271e45ca42c1039d149ab30637fe4fb08eb732 /src/render/dust.cc
parent02e623574c4c12c40a0757ed934a93353f34a653 (diff)
improved dust rendering
Diffstat (limited to 'src/render/dust.cc')
-rw-r--r--src/render/dust.cc20
1 files changed, 7 insertions, 13 deletions
diff --git a/src/render/dust.cc b/src/render/dust.cc
index 25df9f9..ad337b3 100644
--- a/src/render/dust.cc
+++ b/src/render/dust.cc
@@ -91,8 +91,9 @@ void Dust::draw()
return;
}
- if (! core::localcontrol()->speed())
- return;
+ alpha = math::max(core::localcontrol()->movement(), core::localcontrol()->speed());
+ math::clamp(alpha, 0.0f, 1.0f);
+ alpha = 0.2f + alpha * 0.8f;
if (!dust) {
con_debug << " generating dust..." << std::endl;
@@ -105,17 +106,10 @@ void Dust::draw()
dust[i*3+2] = core::localcontrol()->location().z + (math::randomf(2) - 1) * (DUSTDISTANCE + core::localcontrol()->radius());
}
}
-
- math::Color color(1.0f, 1.0f);
- alpha = core::localcontrol()->speed() / LOWSPEEDLIMIT;
- if (alpha > DUSTMAXALPHA)
- alpha = DUSTMAXALPHA;
- color.a = alpha;
-
- traillength = core::localcontrol()->speed() / LOWSPEEDLIMIT;
- /*if (traillength > 1)
- traillength = 1.0f; */
- traillength *= TRAILLENGHT;
+
+ math::Color color(1.0f, alpha);
+ traillength = math::max(math::max(core::localcontrol()->movement(), core::localcontrol()->speed()), 0.5f);
+ traillength = traillength * TRAILLENGHT / LOWSPEEDLIMIT;
gl::color(color);
gl::begin(gl::Lines);