aboutsummaryrefslogtreecommitdiff
path: root/mayaPlug/shaveVrayExporter.h
diff options
context:
space:
mode:
Diffstat (limited to 'mayaPlug/shaveVrayExporter.h')
-rw-r--r--mayaPlug/shaveVrayExporter.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/mayaPlug/shaveVrayExporter.h b/mayaPlug/shaveVrayExporter.h
new file mode 100644
index 0000000..a5d12bf
--- /dev/null
+++ b/mayaPlug/shaveVrayExporter.h
@@ -0,0 +1,57 @@
+#ifndef _HAIR_VRAY_EXPORTER_H_
+#define _HAIR_VRAY_EXPORTER_H_
+
+// Shave and a Haircut
+// (c) 2019 Epic Games
+// US Patent 6720962
+
+#ifdef SHAVEVRAYEXPORTER_EXPORTS
+# ifdef __GNUC__
+# define SHAVEVRAYEXPORTER_EXPORT __attribute__((__visibility__("default")))
+# else
+# define SHAVEVRAYEXPORTER_EXPORT __declspec(dllexport)
+# endif
+#else
+# ifdef __GNUC__
+# define SHAVEVRAYEXPORTER_EXPORT
+# else
+# define SHAVEVRAYEXPORTER_EXPORT __declspec(dllimport)
+# endif
+#endif
+
+#include <maya/MColor.h>
+#include <maya/MObject.h>
+
+// Implemented in supplemental library
+// See usage in shaveVrayNode.cpp
+class shaveVrayExporter {
+public:
+ /// Create V-Ray plugin from passed parameters
+ virtual void createVRayPlugin(
+ void *voidGeomInfo,
+ const MString &libPath,
+ int stackIdx,
+ bool ownshader,
+ bool isInstanced,
+ const MObject &instance,
+ bool tipfade,
+ bool squirrel,
+ const MColor &spec_tint,
+ const MColor &spec_tint2,
+ bool camVis,
+ bool lightVis,
+ bool giVis,
+ bool reflVis,
+ bool refrVis,
+ float selfShadow,
+ bool recvShadow
+ )=0;
+
+ /// Read DRA to the V-Ray plugin's dra param
+ virtual bool readDraToParam(const char *draFilename)=0;
+
+ virtual ~shaveVrayExporter() {}
+};
+
+#endif // _HAIR_VRAY_EXPORTER_H_
+