SFML 3.0.1
Loading...
Searching...
No Matches
Glsl.hpp
Go to the documentation of this file.
1
2//
3// SFML - Simple and Fast Multimedia Library
4// Copyright (C) 2007-2025 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#pragma once
26
28// Headers
30#include <SFML/System/Vector2.hpp>
31#include <SFML/System/Vector3.hpp>
32
33#include <cstddef>
34
35
36 namespace sf
37{
38 namespace priv
39{
40// Forward declarations
41 template <std::size_t Columns, std::size_t Rows>
42 struct Matrix;
43
44 template <typename T>
45 struct Vector4;
46
47} // namespace priv
48
49
54 namespace Glsl
55{
56
61 using Vec2 = Vector2<float>;
62
67 using Ivec2 = Vector2<int>;
68
73 using Bvec2 = Vector2<bool>;
74
79 using Vec3 = Vector3<float>;
80
85 using Ivec3 = Vector3<int>;
86
91 using Bvec3 = Vector3<bool>;
92
93#ifdef SFML_DOXYGEN
94
107 using Vec4 = ImplementationDefined;
108
121 using Ivec4 = ImplementationDefined;
122
127 using Bvec4 = ImplementationDefined;
128
152 using Mat3 = ImplementationDefined;
153
178 using Mat4 = ImplementationDefined;
179
180#else // SFML_DOXYGEN
181
182 using Vec4 = priv::Vector4<float>;
183 using Ivec4 = priv::Vector4<int>;
184 using Bvec4 = priv::Vector4<bool>;
185 using Mat3 = priv::Matrix<3, 3>;
186 using Mat4 = priv::Matrix<4, 4>;
187
188#endif // SFML_DOXYGEN
189
190} // namespace Glsl
191} // namespace sf
192
193#include <SFML/Graphics/Glsl.inl>
194
195
Vector2.hpp
Vector3.hpp
sf::Vector2
Class template for manipulating 2-dimensional vectors.
Definition Vector2.hpp:41
sf::Vector3
Utility template class for manipulating 3-dimensional vectors.
Definition Vector3.hpp:39
sf::Glsl
Namespace with GLSL types.
Definition Glsl.hpp:55
sf::Glsl::Mat3
ImplementationDefined Mat3
3x3 float matrix (mat3 in GLSL)
Definition Glsl.hpp:152
sf::Glsl::Ivec2
Vector2< int > Ivec2
2D int vector (ivec2 in GLSL)
Definition Glsl.hpp:67
sf::Glsl::Vec3
Vector3< float > Vec3
3D float vector (vec3 in GLSL)
Definition Glsl.hpp:79
sf::Glsl::Ivec4
ImplementationDefined Ivec4
4D int vector (ivec4 in GLSL)
Definition Glsl.hpp:121
sf::Glsl::Vec2
Vector2< float > Vec2
2D float vector (vec2 in GLSL)
Definition Glsl.hpp:61
sf::Glsl::Bvec2
Vector2< bool > Bvec2
2D bool vector (bvec2 in GLSL)
Definition Glsl.hpp:73
sf::Glsl::Ivec3
Vector3< int > Ivec3
3D int vector (ivec3 in GLSL)
Definition Glsl.hpp:85
sf::Glsl::Bvec3
Vector3< bool > Bvec3
3D bool vector (bvec3 in GLSL)
Definition Glsl.hpp:91
sf::Glsl::Vec4
ImplementationDefined Vec4
4D float vector (vec4 in GLSL)
Definition Glsl.hpp:107
sf::Glsl::Mat4
ImplementationDefined Mat4
4x4 float matrix (mat4 in GLSL)
Definition Glsl.hpp:178
sf::Glsl::Bvec4
ImplementationDefined Bvec4
4D bool vector (bvec4 in GLSL)
Definition Glsl.hpp:127
sf
Definition AudioResource.hpp:36