]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/mesh.h
Enforce hiding nametag
[dragonfireclient.git] / src / mesh.h
index 7539298cb8c1fd5758a0eb2ae2653f0b0cb8e940..761842b0d744c618634802a4731c3f0aff499f8b 100644 (file)
@@ -22,7 +22,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 #include "irrlichttypes_extrabloated.h"
 #include "nodedef.h"
-#include <string>
 
 /*
        Create a new cube mesh.
@@ -33,16 +32,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 */
 scene::IAnimatedMesh* createCubeMesh(v3f scale);
 
-/*
-       Create a new extruded mesh from a texture.
-       Maximum bounding box is (+-scale.X/2, +-scale.Y/2, +-scale.Z).
-       Thickness is in Z direction.
-
-       The resulting mesh has 1 material which must be defined by the caller.
-*/
-scene::IAnimatedMesh* createExtrudedMesh(video::ITexture *texture,
-               video::IVideoDriver *driver, v3f scale);
-
 /*
        Multiplies each vertex coordinate by the specified scaling factors
        (componentwise vector multiplication).
@@ -75,6 +64,13 @@ void setMeshColorByNormalXYZ(scene::IMesh *mesh,
 */
 void rotateMeshBy6dFacedir(scene::IMesh *mesh, int facedir);
 
+/*
+       Rotate the mesh around the axis and given angle in degrees.
+*/
+void rotateMeshXYby (scene::IMesh *mesh, f64 degrees);
+void rotateMeshXZby (scene::IMesh *mesh, f64 degrees);
+void rotateMeshYZby (scene::IMesh *mesh, f64 degrees); 
 /*
        Clone the mesh.
 */
@@ -90,4 +86,11 @@ scene::IMesh* convertNodeboxNodeToMesh(ContentFeatures *f);
 */
 void recalculateBoundingBox(scene::IMesh *src_mesh);
 
+/*
+       Vertex cache optimization according to the Forsyth paper:
+       http://home.comcast.net/~tom_forsyth/papers/fast_vert_cache_opt.html
+       Ported from irrlicht 1.8
+*/
+scene::IMesh* createForsythOptimizedMesh(const scene::IMesh *mesh);
+
 #endif