From 826ebac51a8d6387ec18056f44a089956238181b Mon Sep 17 00:00:00 2001 From: Alec Iverson Date: Wed, 10 Aug 2016 13:04:54 -0700 Subject: [PATCH] Add Glsl typedefs for sf::Shader::setUniform API. --- include/SFML/Graphics/Glsl.h | 96 ++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 include/SFML/Graphics/Glsl.h diff --git a/include/SFML/Graphics/Glsl.h b/include/SFML/Graphics/Glsl.h new file mode 100644 index 0000000..a62b34c --- /dev/null +++ b/include/SFML/Graphics/Glsl.h @@ -0,0 +1,96 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org) +// +// This software is provided 'as-is', without any express or implied warranty. +// In no event will the authors be held liable for any damages arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it freely, +// subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; +// you must not claim that you wrote the original software. +// If you use this software in a product, an acknowledgment +// in the product documentation would be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, +// and must not be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source distribution. +// +//////////////////////////////////////////////////////////// + +#ifndef SFML_GLSL_H +#define SFML_GLSL_H + +#include +#include +#include +#include + +// 2D vectors +typedef sfVector2f sfGlslVec2; +typedef sfVector2i sfGlslIvec2; + +typedef struct +{ + bool x; + bool y; +} sfGlslBvec2; + +// 3D vectors +typedef sfVector3f sfGlslVec3; + +typedef struct +{ + int x; + int y; + int z; +} sfGlslIvec3; + +typedef struct +{ + bool x; + bool y; + bool z; +} sfGlslBvec3; + +// 4D vectors +typedef struct +{ + float x; + float y; + float z; + float w; +} sfGlslVec4; + +typedef struct +{ + int x; + int y; + int z; + int w; +} sfGlslIvec4; + +typedef struct +{ + bool x; + bool y; + bool z; + bool w; +} sfGlslBvec4; + +// matrices +typedef struct +{ + float array[3 * 3]; +} sfGlslMat3; + +typedef struct +{ + float array[4 * 4]; +} sfGlslMat4; + +#endif // SFML_GLSL_H