Add texture pack selection to main menu
[oweals/minetest.git] / src / tile.h
index 144cb64758a5d66c13e56ae9e370787ceac09871..23c2143506b1fdafdf0e6eb20f19823b2dc0b5ed 100644 (file)
@@ -57,6 +57,27 @@ std::string getImagePath(std::string path);
 */
 std::string getTexturePath(const std::string &filename);
 
+void clearTextureNameCache();
+
+/*
+       ITextureSource::generateTextureFromMesh parameters
+*/
+namespace irr {namespace scene {class IMesh;}}
+struct TextureFromMeshParams
+{
+       scene::IMesh *mesh;
+       core::dimension2d<u32> dim;
+       std::string rtt_texture_name;
+       bool delete_texture_on_shutdown;
+       v3f camera_position;
+       v3f camera_lookat;
+       core::CMatrix4<f32> camera_projection_matrix;
+       video::SColorf ambient_light;
+       v3f light_position;
+       video::SColorf light_color;
+       f32 light_radius;
+};
+
 /*
        TextureSource creates and caches textures.
 */
@@ -78,6 +99,8 @@ public:
        virtual IrrlichtDevice* getDevice()
                {return NULL;}
        virtual bool isKnownSourceImage(const std::string &name)=0;
+       virtual video::ITexture* generateTextureFromMesh(
+                       const TextureFromMeshParams &params)=0;
 };
 
 class IWritableTextureSource : public ITextureSource
@@ -100,6 +123,8 @@ public:
        virtual void processQueue()=0;
        virtual void insertSourceImage(const std::string &name, video::IImage *img)=0;
        virtual void rebuildImagesAndTextures()=0;
+       virtual video::ITexture* generateTextureFromMesh(
+                       const TextureFromMeshParams &params)=0;
 };
 
 IWritableTextureSource* createTextureSource(IrrlichtDevice *device);