diff options
author | RealBadAngel <maciej.kasatkin@o2.pl> | 2016-02-12 12:25:20 +0100 |
---|---|---|
committer | paramat <mat.gregory@virginmedia.com> | 2016-02-15 06:05:39 +0000 |
commit | 7ea40e45b1bf893aa693c179cbe8612ede86faee (patch) | |
tree | 779f9d5d9482bd2afe11dafb49c481b33d70f3ca /src/mapblock_mesh.h | |
parent | 3a74b84007f2c0f0690524459cc935616f8805d2 (diff) | |
download | minetest-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.h | 13 |
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); |