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
32
33#include <cstddef>
34
35
36namespace sf
37{
38namespace priv
39{
40// Forward declarations
41template <std::size_t Columns, std::size_t Rows>
42struct Matrix;
43
44template <typename T>
45struct Vector4;
46
47} // namespace priv
48
49
54namespace Glsl
55{
56
62
68
74
80
86
92
93#ifdef SFML_DOXYGEN
94
107using Vec4 = ImplementationDefined;
108
121using Ivec4 = ImplementationDefined;
122
127using Bvec4 = ImplementationDefined;
128
152using Mat3 = ImplementationDefined;
153
178using Mat4 = ImplementationDefined;
179
180#else // SFML_DOXYGEN
181
182using Vec4 = priv::Vector4<float>;
183using Ivec4 = priv::Vector4<int>;
184using Bvec4 = priv::Vector4<bool>;
185using Mat3 = priv::Matrix<3, 3>;
186using 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
ImplementationDefined Mat3
3x3 float matrix (mat3 in GLSL)
Definition Glsl.hpp:152
ImplementationDefined Ivec4
4D int vector (ivec4 in GLSL)
Definition Glsl.hpp:121
ImplementationDefined Vec4
4D float vector (vec4 in GLSL)
Definition Glsl.hpp:107
ImplementationDefined Mat4
4x4 float matrix (mat4 in GLSL)
Definition Glsl.hpp:178
ImplementationDefined Bvec4
4D bool vector (bvec4 in GLSL)
Definition Glsl.hpp:127