#ifndef WERTEKS_H
#define WERTEKS_H

struct CWerteks
{
	float x, y, z; //współrzędne połozenia
	float nx, ny, nz; //współrzędne normalnej
	float s, t; //współrzędne teksturowania
	float r, g, b, a; //składowe koloru

	static const int liczbaWspółrzędnychPołożenia = 3;
	static const int rozmiarWektoraPołożenia = liczbaWspółrzędnychPołożenia * sizeof(float);
	static const int liczbaWspółrzędnychNormalnej = 3;
	static const int rozmiarNormalnej = liczbaWspółrzędnychNormalnej * sizeof(float);
	static const int liczbaWspółrzędnychTeksturowania = 2;
	static const int rozmiarWspółrzędnychTeksturowania = liczbaWspółrzędnychTeksturowania * sizeof(float);
	static const int liczbaSkładowychKoloru = 4;
	static const int rozmiarWektoraKoloru = liczbaSkładowychKoloru * sizeof(float);
	static const int rozmiarWerteksu = rozmiarWektoraPołożenia + rozmiarNormalnej + rozmiarWspółrzędnychTeksturowania + rozmiarWektoraKoloru;

	CWerteks()
		:x(0.0f), y(0.0f), z(0.0f),
		nx(0.0f), ny(0.0f), nz(0.0f),
		s(0.0f), t(0.0f),
		r(0.0f), g(0.0f), b(0.0f), a(1.0f)		
	{
	}

	CWerteks(
		float x, float y, float z, 
		float nx, float ny, float nz,
		float s, float t,
		float r = 1.0f, float g = 1.0f, float b = 1.0f, float a = 1.0f)
		: x(x), y(y), z(z),
		nx(nx), ny(ny), nz(nz),
		s(s), t(t),
		r(r), g(g), b(b), a(a)
	{
	}
};

#endif