SFML 3.0.0

- Main Page
- Topics
- Namespaces
- Classes
- Files

- File List
- File Members

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-2024 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< float >
sf::Vector3< float >
sf::Glsl::Mat3
ImplementationDefined Mat3
3x3 float matrix (mat3 in GLSL)
Definition Glsl.hpp:152
sf::Glsl::Ivec4
ImplementationDefined Ivec4
4D int vector (ivec4 in GLSL)
Definition Glsl.hpp:121
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