Glsl.h
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_GLSL_H
26 #define SFML_GLSL_H
27 
29 // Headers
31 #include <SFML/Graphics/Transform.h>
32 #include <SFML/Graphics/Color.h>
33 #include <SFML/System/Vector2.h>
34 #include <SFML/System/Vector3.h>
35 
36 // 2D vectors
37 typedef sfVector2f sfGlslVec2;
38 typedef sfVector2i sfGlslIvec2;
39 
40 typedef struct
41 {
42  sfBool x;
43  sfBool y;
44 } sfGlslBvec2;
45 
46 // 3D vectors
47 typedef sfVector3f sfGlslVec3;
48 
49 typedef struct
50 {
51  int x;
52  int y;
53  int z;
54 } sfGlslIvec3;
55 
56 typedef struct
57 {
58  sfBool x;
59  sfBool y;
60  sfBool z;
61 } sfGlslBvec3;
62 
63 // 4D vectors
64 typedef struct
65 {
66  float x;
67  float y;
68  float z;
69  float w;
70 } sfGlslVec4;
71 
72 typedef struct
73 {
74  int x;
75  int y;
76  int z;
77  int w;
78 } sfGlslIvec4;
79 
80 typedef struct
81 {
82  sfBool x;
83  sfBool y;
84  sfBool z;
85  sfBool w;
86 } sfGlslBvec4;
87 
88 // matrices
89 typedef struct
90 {
91  float array[3 * 3];
92 } sfGlslMat3;
93 
94 typedef struct
95 {
96  float array[4 * 4];
97 } sfGlslMat4;
98 
99 
100 #endif // SFML_GLSL_H
sfVector2i
2-component vector of integers
Definition: Vector2.h:39
sfGlslBvec3
Definition: Glsl.h:57
sfVector3f
3-component vector of floats
Definition: Vector3.h:39
sfGlslMat4
Definition: Glsl.h:95
sfGlslIvec3
Definition: Glsl.h:50
sfGlslMat3
Definition: Glsl.h:90
sfGlslVec4
Definition: Glsl.h:65
sfVector2f
2-component vector of floats
Definition: Vector2.h:61
sfGlslBvec4
Definition: Glsl.h:81
sfGlslBvec2
Definition: Glsl.h:41
sfGlslIvec4
Definition: Glsl.h:73