source: GTP/trunk/Lib/Vis/Preprocessing/src/Material.cpp @ 2148

Revision 2148, 1.3 KB checked in by bittner, 17 years ago (diff)

rainbow color maps

Line 
1#include "common.h"
2#include "Material.h"
3
4namespace GtpVisibilityPreprocessor {
5
6
7Material
8RandomMaterial()
9{
10  float a = 0.1f;
11  float b = 0.9f;
12
13  Material m;
14  m.mDiffuseColor = RandomColor(a, b);
15
16  return m;
17}
18
19
20RgbColor
21RandomColor(const float a, const float b)
22{
23  return RgbColor(a + Random(b),
24                                  a + Random(b),
25                                  a + Random(b));
26}
27
28
29
30RgbColor
31RainbowColorMapping(const float _value)
32{
33  RgbColor color;
34
35  float value = 1.0f - _value;
36
37#define MAX_COLOR_VALUE 1.0f
38 
39  switch ((int)(value*4.0f)) {
40  case 0:
41        color.r = MAX_COLOR_VALUE;
42        color.g = value*MAX_COLOR_VALUE;
43        color.b = 0.0f;
44        break;
45  case 1:
46        color.r = (1.0f - value)*MAX_COLOR_VALUE;;
47        color.g = MAX_COLOR_VALUE;
48        color.b = 0.0f;
49        break;
50  case 2:
51        color.r = 0.0f;
52        color.g = MAX_COLOR_VALUE;
53        color.b = value*MAX_COLOR_VALUE;
54        break;
55  case 3:
56        color.r = 0.0f;
57        color.g = (1.0f - value)*MAX_COLOR_VALUE;;
58        color.b = MAX_COLOR_VALUE;
59        break;
60  default:
61        color.r = value*MAX_COLOR_VALUE;
62        color.g = 0.0f;
63        color.b = MAX_COLOR_VALUE;
64        break;
65  }
66  return color;
67}
68
69RgbColor
70GreenRedColorMap(const float value)
71{
72  RgbColor color;
73 
74#define MAX_COLOR_VALUE 1.0f
75 
76  color.r = MAX_COLOR_VALUE*value;
77  color.g = MAX_COLOR_VALUE*(1.0f - value);
78  color.b = 0.0f;
79 
80  return color;
81}
82
83
84}
Note: See TracBrowser for help on using the repository browser.