summaryrefslogtreecommitdiff
path: root/src/mapblock_mesh.h
diff options
context:
space:
mode:
authorRealBadAngel <maciej.kasatkin@o2.pl>2016-02-12 12:25:20 +0100
committerparamat <mat.gregory@virginmedia.com>2016-02-15 06:05:39 +0000
commit7ea40e45b1bf893aa693c179cbe8612ede86faee (patch)
tree779f9d5d9482bd2afe11dafb49c481b33d70f3ca /src/mapblock_mesh.h
parent3a74b84007f2c0f0690524459cc935616f8805d2 (diff)
downloadminetest-7ea40e45b1bf893aa693c179cbe8612ede86faee.tar.gz
minetest-7ea40e45b1bf893aa693c179cbe8612ede86faee.tar.bz2
minetest-7ea40e45b1bf893aa693c179cbe8612ede86faee.zip
Use vertices with tangents only when its needed.
Diffstat (limited to 'src/mapblock_mesh.h')
-rw-r--r--src/mapblock_mesh.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/mapblock_mesh.h b/src/mapblock_mesh.h
index 421e8f2b3..987490408 100644
--- a/src/mapblock_mesh.h
+++ b/src/mapblock_mesh.h
@@ -46,8 +46,10 @@ struct MeshMakeData
IGameDef *m_gamedef;
bool m_use_shaders;
+ bool m_use_tangent_vertices;
- MeshMakeData(IGameDef *gamedef, bool use_shaders);
+ MeshMakeData(IGameDef *gamedef, bool use_shaders,
+ bool use_tangent_vertices = false);
/*
Copy central data directly from block, and other data from
@@ -130,6 +132,7 @@ private:
IShaderSource *m_shdrsrc;
bool m_enable_shaders;
+ bool m_use_tangent_vertices;
// Must animate() be called before rendering?
bool m_has_animation;
@@ -167,11 +170,19 @@ struct PreMeshBuffer
TileSpec tile;
std::vector<u16> indices;
std::vector<video::S3DVertex> vertices;
+ std::vector<video::S3DVertexTangents> tangent_vertices;
};
struct MeshCollector
{
std::vector<PreMeshBuffer> prebuffers;
+ bool m_use_tangent_vertices;
+
+ MeshCollector(bool use_tangent_vertices):
+ m_use_tangent_vertices(use_tangent_vertices)
+ {
+ }
+
void append(const TileSpec &material,
const video::S3DVertex *vertices, u32 numVertices,
const u16 *indices, u32 numIndices);