Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/include/yafray_Render.h')
-rw-r--r--source/blender/include/yafray_Render.h132
1 files changed, 132 insertions, 0 deletions
diff --git a/source/blender/include/yafray_Render.h b/source/blender/include/yafray_Render.h
new file mode 100644
index 00000000000..79abbbd6087
--- /dev/null
+++ b/source/blender/include/yafray_Render.h
@@ -0,0 +1,132 @@
+#ifndef __YAFRAY_RENDER_H
+#define __YAFRAY_RENDER_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "MEM_guardedalloc.h"
+#include "IMB_imbuf_types.h"
+
+#include "DNA_action_types.h"
+#include "DNA_armature_types.h"
+#include "DNA_camera_types.h"
+#include "DNA_constraint_types.h"
+#include "DNA_curve_types.h"
+#include "DNA_effect_types.h"
+#include "DNA_group_types.h"
+#include "DNA_ika_types.h"
+#include "DNA_image_types.h"
+#include "DNA_key_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_lattice_types.h"
+#include "DNA_material_types.h"
+#include "DNA_meta_types.h"
+#include "DNA_mesh_types.h"
+#include "DNA_object_types.h"
+#include "DNA_packedFile_types.h"
+#include "DNA_radio_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_screen_types.h"
+#include "DNA_sound_types.h"
+#include "DNA_space_types.h"
+#include "DNA_texture_types.h"
+#include "DNA_userdef_types.h"
+#include "DNA_vfont_types.h"
+#include "DNA_view3d_types.h"
+#include "DNA_world_types.h"
+
+#include "BKE_global.h"
+#include "BKE_image.h"
+#include "render.h"
+
+/* useful matrix & vector operations */
+#include "MTC_matrixops.h"
+#include "MTC_vectorops.h"
+
+#include "BLI_blenlib.h"
+
+/* need error(), so extern declare here */
+extern void error (char *fmt, ...);
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#ifdef __cplusplus
+#include <iostream>
+#include <iomanip>
+#include <sstream>
+#include <fstream>
+#include <map>
+#include <string>
+#include <vector>
+
+class yafrayRender_t
+{
+public:
+ // ctor
+ yafrayRender_t() {}
+ // dtor
+ ~yafrayRender_t() {}
+
+ // mtds
+ bool exportScene();
+
+ void displayImage();
+ void addDupliMtx(Object* obj);
+
+ bool objectKnownData(Object* obj);
+
+private:
+ Object* maincam_obj;
+ float mainCamLens;
+
+ int maxraydepth;
+
+ std::string imgout;
+
+ std::ofstream xmlfile;
+ std::ostringstream ostr;
+ std::map<Object*, std::vector<VlakRen*> > all_objects;
+ std::map<std::string, Material*> used_materials;
+ std::map<std::string, std::pair<Material*, MTex*> > used_textures;
+ std::map<std::string, std::vector<float> > dupliMtx_list;
+ std::map<std::string, Object*> dup_srcob;
+ std::map<void*, Object*> objectData;
+
+ Object* findObject(const char* name);
+ bool getAllMatTexObs();
+ void writeTextures();
+ void writeMaterialsAndModulators();
+ void writeObject(Object* obj, const std::vector<VlakRen*> &VLR_list, const float obmat[4][4]);
+ void writeAllObjects();
+ void writeLamps();
+ void writeCamera();
+ void writeHemilight();
+ void writePathlight();
+ bool writeWorld();
+ void clearAll();
+
+};
+
+/* C access to yafray */
+extern yafrayRender_t YAFBLEND;
+#endif
+
+
+/* C interface for Blender */
+#ifdef __cplusplus
+extern "C" {
+#endif
+int YAF_exportScene();
+void YAF_displayImage();
+void YAF_addDupliMtx(Object* obj);
+int YAF_objectKnownData(Object* obj);
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /*__YAFRAY_RENDER_H */