dxtest2

annotate src/mesh.h @ 0:6ed01ded71d8

initial commit
author John Tsiombikas <nuclear@member.fsf.org>
date Sun, 23 Jun 2013 04:23:13 +0300
parents
children
rev   line source
nuclear@0 1 #ifndef MESH_H_
nuclear@0 2 #define MESH_H_
nuclear@0 3
nuclear@0 4 #include <vector>
nuclear@0 5 #include <vmath/vmath.h>
nuclear@0 6 #include <d3d11.h>
nuclear@0 7
nuclear@0 8 struct Vertex {
nuclear@0 9 Vector3 pos, normal;
nuclear@0 10 Vector2 texcoord;
nuclear@0 11 };
nuclear@0 12
nuclear@0 13 class Mesh {
nuclear@0 14 private:
nuclear@0 15 Vector3 cur_norm;
nuclear@0 16 Vector2 cur_texcoord;
nuclear@0 17
nuclear@0 18 std::vector<Vertex> verts;
nuclear@0 19 ID3D11Buffer *vbuf;
nuclear@0 20
nuclear@0 21 bool update_vbuffer();
nuclear@0 22 void invalidate_vbuffer();
nuclear@0 23
nuclear@0 24 public:
nuclear@0 25 Mesh();
nuclear@0 26 ~Mesh();
nuclear@0 27
nuclear@0 28 void clear();
nuclear@0 29
nuclear@0 30 void normal(float x, float y, float z);
nuclear@0 31 void texcoord(float u, float v);
nuclear@0 32 void vertex(float x, float y, float z);
nuclear@0 33
nuclear@0 34 void draw() const;
nuclear@0 35 };
nuclear@0 36
nuclear@0 37 #endif // MESH_H_