]> git.jsancho.org Git - c-irrlicht.git/blobdiff - include/IVideoDriver.h
Vertices, boxes, matrices, transformations and more
[c-irrlicht.git] / include / IVideoDriver.h
index 5da2d39f0ca5f6d045ca0dff03370e6d523d8281..5c89181d13b89390dc957e8f00cb83e7f075360f 100644 (file)
 #define __C_I_VIDEO_DRIVER_H_INCLUDED__
 
 #include "ITexture.h"
+#include "matrix4.h"
 #include "SColor.h"
 #include "SExposedVideoData.h"
+#include "SMaterial.h"
 #include "rect.h"
 
+//! enumeration for geometry transformation states
+typedef enum
+  {
+   //! View transformation
+   irr_video_ETS_VIEW = 0,
+   //! World transformation
+   irr_video_ETS_WORLD,
+   //! Projection transformation
+   irr_video_ETS_PROJECTION,
+   //! Texture transformation
+   irr_video_ETS_TEXTURE_0,
+   //! Texture transformation
+   irr_video_ETS_TEXTURE_1,
+   //! Texture transformation
+   irr_video_ETS_TEXTURE_2,
+   //! Texture transformation
+   irr_video_ETS_TEXTURE_3,
+#if _C_IRR_MATERIAL_MAX_TEXTURES_>4
+   //! Texture transformation
+   irr_video_ETS_TEXTURE_4,
+#if _C_IRR_MATERIAL_MAX_TEXTURES_>5
+   //! Texture transformation
+   irr_video_ETS_TEXTURE_5,
+#if _C_IRR_MATERIAL_MAX_TEXTURES_>6
+   //! Texture transformation
+   irr_video_ETS_TEXTURE_6,
+#if _C_IRR_MATERIAL_MAX_TEXTURES_>7
+   //! Texture transformation
+   irr_video_ETS_TEXTURE_7,
+#endif
+#endif
+#endif
+#endif
+   //! Not used
+   irr_video_ETS_COUNT
+  } irr_video_E_TRANSFORMATION_STATE;
+
+// types
 typedef void irr_video_IVideoDriver;
 
 #ifdef __cplusplus
@@ -54,6 +94,15 @@ extern "C" {
   irr_video_getTexture(irr_video_IVideoDriver* driver,
                        const char* filename);
 
+  void
+  irr_video_setMaterial(irr_video_IVideoDriver* driver,
+                        const irr_video_SMaterial material);
+
+  void
+  irr_video_setTransform(irr_video_IVideoDriver* driver,
+                         irr_video_E_TRANSFORMATION_STATE state,
+                         irr_core_matrix4* mat);
+
 #ifdef __cplusplus
 }
 #endif