[CGSG] SVN Commit r419 - user/kintel/opengl/effects
kintel at metalab.at
kintel at metalab.at
Sun Apr 20 04:41:42 CEST 2008
Author: kintel
Date: 2008-04-20 04:41:42 +0200 (Sun, 20 Apr 2008)
New Revision: 419
Added:
user/kintel/opengl/effects/colors.cpp
user/kintel/opengl/effects/colors.h
Modified:
user/kintel/opengl/effects/moebius.cpp
Log:
color utility function -> separate file
Added: user/kintel/opengl/effects/colors.cpp
===================================================================
--- user/kintel/opengl/effects/colors.cpp (rev 0)
+++ user/kintel/opengl/effects/colors.cpp 2008-04-20 02:41:42 UTC (rev 419)
@@ -0,0 +1,33 @@
+#include "colors.h"
+
+void hsv2rgb(float h, float s, float v,
+ float &r, float &g, float &b)
+{
+ int sector = 6*h;
+ float f = 6*h-sector;
+ float p = v * ( 1 - s );
+ float q = v * ( 1 - s * f );
+ float t = v * ( 1 - s * ( 1 - f ) );
+
+ switch (sector) {
+ case 0:
+ r = v; g = t; b = p;
+ break;
+ case 1:
+ r = q; g = v; b = p;
+ break;
+ case 2:
+ r = p; g = v; b = t;
+ break;
+ case 3:
+ r = p; g = q; b = v;
+ break;
+ case 4:
+ r = t; g = p; b = v;
+ break;
+ default:
+ r = v; g = p; b = q;
+ break;
+ }
+}
+
Added: user/kintel/opengl/effects/colors.h
===================================================================
--- user/kintel/opengl/effects/colors.h (rev 0)
+++ user/kintel/opengl/effects/colors.h 2008-04-20 02:41:42 UTC (rev 419)
@@ -0,0 +1,7 @@
+#ifndef COLORS_H_
+#define COLORS_H_
+
+void hsv2rgb(float h, float s, float v, float &r, float &g, float &b);
+
+
+#endif
Modified: user/kintel/opengl/effects/moebius.cpp
===================================================================
--- user/kintel/opengl/effects/moebius.cpp 2008-04-20 01:46:32 UTC (rev 418)
+++ user/kintel/opengl/effects/moebius.cpp 2008-04-20 02:41:42 UTC (rev 419)
@@ -28,6 +28,9 @@
#include "Grid.h"
class Grid *grid;
+// Colors
+#include "colors.h"
+
// Moebius
std::complex<float> abcd[4] = {
std::complex<float>(1,0),
@@ -42,37 +45,6 @@
timecounter += 0.001*step;
}
-static void hsv2rgb(float h, float s, float v,
- float &r, float &g, float &b)
-{
- int sector = 6*h;
- float f = 6*h-sector;
- float p = v * ( 1 - s );
- float q = v * ( 1 - s * f );
- float t = v * ( 1 - s * ( 1 - f ) );
-
- switch (sector) {
- case 0:
- r = v; g = t; b = p;
- break;
- case 1:
- r = q; g = v; b = p;
- break;
- case 2:
- r = p; g = v; b = t;
- break;
- case 3:
- r = p; g = q; b = v;
- break;
- case 4:
- r = t; g = p; b = v;
- break;
- default:
- r = v; g = p; b = q;
- break;
- }
-}
-
static Texture *initTexture(int width, int height)
{
Texture *tx = new Texture(width, height, GL_RGBA);
More information about the CGSG
mailing list