#pragma once #include using namespace std; // Struct to hold the color data in typedef struct RGBA { unsigned int red; unsigned int green; unsigned int blue; unsigned int alpha; } RGBA; // Class for dealing with color gradients, mainly for the terrain and blend mapping class ColorGradient { public: ColorGradient(float min, float max, vector colorSteps); ~ColorGradient(); // Get the RGBA value at the give point RGBA GetRGBAValue(float inputValue); private: float _minValue; float _maxValue; // Method for interpolating the color between each step RGBA Interpolate(RGBA a, RGBA b, float pointValue); // Vector to hold the color steps in for the gradient vector _colorSteps; };