diff options
Diffstat (limited to 'Build/source/utils/asymptote/material.h')
-rw-r--r-- | Build/source/utils/asymptote/material.h | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/Build/source/utils/asymptote/material.h b/Build/source/utils/asymptote/material.h index f16f421e52b..65ba2cf8a9c 100644 --- a/Build/source/utils/asymptote/material.h +++ b/Build/source/utils/asymptote/material.h @@ -11,6 +11,17 @@ #include <glm/glm.hpp> +namespace glm { + +inline ostream& operator << (ostream& out, const glm::vec4& v) +{ + out << "[" << v[0] << "," << v[1] << "," << v[2] << "," << v[3] + << "]"; + return out; +} + +} + namespace camp { inline bool operator < (const glm::vec4& m1, const glm::vec4& m2) { @@ -23,18 +34,11 @@ inline bool operator < (const glm::vec4& m1, const glm::vec4& m2) { (m1[3] < m2[3])))))); } -inline glm::vec4 GLparameters(GLfloat shininess, GLfloat metallic, - GLfloat fresnel0) { +inline glm::vec4 GLparameters(float shininess, float metallic, + float fresnel0) { return glm::vec4(shininess,metallic,fresnel0,0.0); } -inline ostream& operator << (ostream& out, const glm::vec4& v) -{ - out << "[" << v[0] << "," << v[1] << "," << v[2] << "," << v[3] - << "]"; - return out; -} - struct Material { public: glm::vec4 diffuse,emissive,specular; @@ -80,6 +84,15 @@ public: return out; } + friend jsofstream& operator << (jsofstream& out, const Material& m) { + out << m.diffuse << "," << newl + << m.emissive << "," << newl + << m.specular << "," << newl + << m.parameters[0] << "," << newl + << m.parameters[1] << "," << newl + << m.parameters[2] << newl; + return out; + } }; extern size_t Nmaterials; // Number of materials compiled in shader |