Warning
This page refers to an old version of SFML. Click here to switch to the latest version.
Warning
This page refers to an old version of SFML. Click here to switch to the latest version.
Namespace with GLSL types. More...
Typedefs | |
| typedef Vector2< float > | Vec2 |
2D float vector (vec2 in GLSL) | |
| typedef Vector2< int > | Ivec2 |
2D int vector (ivec2 in GLSL) | |
| typedef Vector2< bool > | Bvec2 |
2D bool vector (bvec2 in GLSL) | |
| typedef Vector3< float > | Vec3 |
3D float vector (vec3 in GLSL) | |
| typedef Vector3< int > | Ivec3 |
3D int vector (ivec3 in GLSL) | |
| typedef Vector3< bool > | Bvec3 |
3D bool vector (bvec3 in GLSL) | |
| typedef implementation defined | Vec4 |
4D float vector (vec4 in GLSL) | |
| typedef implementation defined | Ivec4 |
4D int vector (ivec4 in GLSL) | |
| typedef implementation defined | Bvec4 |
4D bool vector (bvec4 in GLSL) | |
| typedef implementation defined | Mat3 |
3x3 float matrix (mat3 in GLSL) | |
| typedef implementation defined | Mat4 |
4x4 float matrix (mat4 in GLSL) | |
Namespace with GLSL types.
The sf::Glsl namespace contains types that match their equivalents in GLSL, the OpenGL shading language. These types are exclusively used by the sf::Shader class.
Types that already exist in SFML, such as sf::Vector2<T> and sf::Vector3<T>, are reused as typedefs, so you can use the types in this namespace as well as the original ones. Others are newly defined, such as Glsl::Vec4 or Glsl::Mat3. Their actual type is an implementation detail and should not be used.
All vector types support a default constructor that initializes every component to zero, in addition to a constructor with one parameter for each component. The components are stored in member variables called x, y, z, and w.
All matrix types support a constructor with a float* parameter that points to a float array of the appropriate size (that is, 9 in a 3x3 matrix, 16 in a 4x4 matrix). Furthermore, they can be converted from sf::Transform objects.
| typedef Vector2<bool> sf::Glsl::Bvec2 |
| typedef Vector3<bool> sf::Glsl::Bvec3 |
| typedef implementation defined sf::Glsl::Bvec4 |
| typedef Vector2<int> sf::Glsl::Ivec2 |
| typedef Vector3<int> sf::Glsl::Ivec3 |
| typedef implementation defined sf::Glsl::Ivec4 |
4D int vector (ivec4 in GLSL)
4D int vectors can be implicitly converted from sf::Color instances. Each color channel remains unchanged inside the integer interval [0, 255].
| typedef implementation defined sf::Glsl::Mat3 |
3x3 float matrix (mat3 in GLSL)
The matrix can be constructed from an array with 3x3 elements, aligned in column-major order. For example, a translation by (x, y) looks as follows:
Mat3 can also be implicitly converted from sf::Transform:
| typedef implementation defined sf::Glsl::Mat4 |
4x4 float matrix (mat4 in GLSL)
The matrix can be constructed from an array with 4x4 elements, aligned in column-major order. For example, a translation by (x, y, z) looks as follows:
Mat4 can also be implicitly converted from sf::Transform:
| typedef Vector2<float> sf::Glsl::Vec2 |
| typedef Vector3<float> sf::Glsl::Vec3 |
| typedef implementation defined sf::Glsl::Vec4 |
4D float vector (vec4 in GLSL)
4D float vectors can be implicitly converted from sf::Color instances. Each color channel is normalized from integers in [0, 255] to floating point values in [0, 1].