summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/material.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/asymptote/material.h')
-rw-r--r--Build/source/utils/asymptote/material.h31
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