Program Listing for File StaticColor.cpp
↰ Return to documentation for file (src/flamegpu/visualiser/color/StaticColor.cpp
)
// @todo - ifdef FLAMEGPU_VISUALISATION
#include "flamegpu/visualiser/color/StaticColor.h"
#include <sstream>
#include "flamegpu/exception/FLAMEGPUException.h"
namespace flamegpu {
namespace visualiser {
StaticColor::StaticColor(const Color& _rgba)
: rgba(_rgba) {
if (!rgba.validate()) {
THROW exception::InvalidArgument("Provided color has invalid components, "
"in StaticColor::StaticColor\n");
}
}
std::string StaticColor::getSrc(unsigned int) const {
std::stringstream ss;
ss << "vec4 calculateColor() {" << "\n";
ss << " return vec4(" << rgba[0] << ", " << rgba[1] << ", " << rgba[2] << ", " << 1.0f << ");" << "\n";
ss << "}" << "\n";
return ss.str();
}
Color::operator StaticColor() const {
return StaticColor{*this};
}
} // namespace visualiser
} // namespace flamegpu