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_ |