From f2e0f1b5865e4927097214bd29d09c58844511bc Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Sun, 3 Jul 2011 18:51:58 +0000 Subject: Convert RGB colors in the 0-255 range to 0.0-1.0 when reading clor values from inputstreams. --- src/math/color.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/math/color.cc') diff --git a/src/math/color.cc b/src/math/color.cc index b807b96..70a48e5 100644 --- a/src/math/color.cc +++ b/src/math/color.cc @@ -131,6 +131,12 @@ Color & Color::operator*=(const float scalar) return (*this); } +Color & Color::operator/=(const float scalar) +{ + for (int i = 0; i < 3; i++) + rgba_data[i] /= scalar; + return (*this); +} std::ostream &operator<<(std::ostream &os, Color const & color) { @@ -143,6 +149,11 @@ std::istream &operator>>(std::istream & is, Color & color) is >> color.r; is >> color.g; is >> color.b; + + if ((color.r > 1.0f) || (color.g > 1.0f) || (color.b > 1.0f)) { + color /= 255.0f; + } + //is >> color.a; color.a = 1.0; return (is); -- cgit v1.2.3