Cogs.Core
ClipmapTerrainTypes.h
1#pragma once
2
3#include "CogsTerrainBase.h"
4
5#if defined( _WIN32 )
6 #pragma warning(disable:4310)
7 #pragma warning(disable:4245)
8 #pragma warning(disable:4100)
9 #pragma warning(disable:4505)
10#endif
11
12#include "Rendering/ITextures.h"
13#include "Rendering/IEffects.h"
14
15#include "Foundation/Geometry/Frustum.hpp"
16
17#include <glm/gtc/type_ptr.hpp>
18
19namespace Cogs
20{
21 const static size_t NUM_TEXTURES = 4;
22
23 typedef glm::vec2 Vector2;
24 typedef glm::dvec2 Vector2d;
25
26 typedef glm::vec3 Vector3;
27 typedef glm::dvec3 Vector3d;
28
29 typedef glm::vec4 Vector4;
30 typedef glm::dvec4 Vector4d;
31
32 typedef glm::mat4 Matrix;
33
34 typedef Geometry::Plane Plane;
35 typedef Geometry::BoundingBox BoundingBox;
36
37 typedef glm::vec2 vec2;
38 typedef glm::vec3 vec3;
39 typedef glm::vec4 vec4;
40
41 typedef glm::mat4 mat4;
42
44 {
45 Geometry::Frustum frustum;
46 };
47
51 struct floata
52 {
53 floata() {}
54 floata(float x) { data[0] = x; }
55
56 float data[4];
57 };
61 struct vec2a : public vec2
62 {
63 vec2a() {}
64 explicit vec2a(float x, float y) { (*this)[0] = x; (*this)[1] = y; }
65
66 float pad[2];
67 };
68
69 inline size_t getTextureSize(int width, int height, TextureFormat format)
70 {
71 const size_t bpp = getBlockSize(format);
72
73 return bpp * width * height;
74 }
75}
Contains all Cogs related functionality.
Definition: FieldSetter.h:23
Two component vector manually padded to 16 byte size.
Two component vector manually padded to 16 byte size.