1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
/*
* This source file is part of MyGUI. For the latest info, see http://mygui.info/
* Distributed under the MIT License
* (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT)
*/
#ifndef MYGUI_VERTEX_DATA_H_
#define MYGUI_VERTEX_DATA_H_
#include "MyGUI_Prerequest.h"
#include "MyGUI_Types.h"
namespace MyGUI
{
struct Vertex
{
void set(float _x, float _y, float _z, float _u, float _v, uint32 _colour)
{
x = _x;
y = _y;
z = _z;
u = _u;
v = _v;
colour = _colour;
}
float x, y, z;
uint32 colour;
float u, v;
};
struct VertexQuad
{
enum Enum
{
CornerLT = 0,
CornerRT = 1,
CornerLB = 2,
CornerLB2 = 3,
CornerRT2 = 4,
CornerRB = 5,
VertexCount = 6
};
void set(
float _l,
float _t,
float _r,
float _b,
float _z,
float _u1,
float _v1,
float _u2,
float _v2,
uint32 _colour)
{
vertex[CornerLT].set(_l, _t, _z, _u1, _v1, _colour);
vertex[CornerRT].set(_r, _t, _z, _u2, _v1, _colour);
vertex[CornerLB].set(_l, _b, _z, _u1, _v2, _colour);
vertex[CornerRB].set(_r, _b, _z, _u2, _v2, _colour);
vertex[CornerRT2] = vertex[CornerRT];
vertex[CornerLB2] = vertex[CornerLB];
}
void set(
float _x1,
float _y1,
float _x2,
float _y2,
float _x3,
float _y3,
float _x4,
float _y4,
float _z,
float _u1,
float _v1,
float _u2,
float _v2,
uint32 _colour)
{
vertex[CornerLT].set(_x1, _y1, _z, _u1, _v1, _colour);
vertex[CornerRT].set(_x2, _y2, _z, _u2, _v1, _colour);
vertex[CornerLB].set(_x4, _y4, _z, _u1, _v2, _colour);
vertex[CornerRB].set(_x3, _y3, _z, _u2, _v2, _colour);
vertex[CornerRT2] = vertex[CornerRT];
vertex[CornerLB2] = vertex[CornerLB];
}
Vertex vertex[VertexCount];
};
} // namespace MyGUI
#endif // MYGUI_VERTEX_DATA_H_
|