31#include <SFML/Graphics/Export.h>
32#include <SFML/Graphics/Color.h>
33#include <SFML/Graphics/Glsl.h>
34#include <SFML/Graphics/Transform.h>
35#include <SFML/Graphics/Types.h>
36#include <SFML/System/InputStream.h>
37#include <SFML/System/Vector2.h>
38#include <SFML/System/Vector3.h>
60CSFML_GRAPHICS_API sfShader* sfShader_createFromFile(
const char* vertexShaderFilename,
const char* geometryShaderFilename,
const char* fragmentShaderFilename);
80CSFML_GRAPHICS_API sfShader* sfShader_createFromMemory(
const char* vertexShader,
const char* geometryShader,
const char* fragmentShader);
108CSFML_GRAPHICS_API
void sfShader_destroy(sfShader* shader);
118CSFML_GRAPHICS_API
void sfShader_setFloatUniform(sfShader* shader,
const char* name,
float x);
128CSFML_GRAPHICS_API
void sfShader_setVec2Uniform(sfShader* shader,
const char* name,
sfGlslVec2 vector);
138CSFML_GRAPHICS_API
void sfShader_setVec3Uniform(sfShader* shader,
const char* name,
sfGlslVec3 vector);
151CSFML_GRAPHICS_API
void sfShader_setVec4Uniform(sfShader* shader,
const char* name,
sfGlslVec4 vector);
161CSFML_GRAPHICS_API
void sfShader_setColorUniform(sfShader* shader,
const char* name,
sfColor color);
171CSFML_GRAPHICS_API
void sfShader_setIntUniform(sfShader* shader,
const char* name,
int x);
181CSFML_GRAPHICS_API
void sfShader_setIvec2Uniform(sfShader* shader,
const char* name,
sfGlslIvec2 vector);
191CSFML_GRAPHICS_API
void sfShader_setIvec3Uniform(sfShader* shader,
const char* name,
sfGlslIvec3 vector);
204CSFML_GRAPHICS_API
void sfShader_setIvec4Uniform(sfShader* shader,
const char* name,
sfGlslIvec4 vector);
214CSFML_GRAPHICS_API
void sfShader_setIntColorUniform(sfShader* shader,
const char* name,
sfColor color);
224CSFML_GRAPHICS_API
void sfShader_setBoolUniform(sfShader* shader,
const char* name, sfBool x);
234CSFML_GRAPHICS_API
void sfShader_setBvec2Uniform(sfShader* shader,
const char* name,
sfGlslBvec2 vector);
244CSFML_GRAPHICS_API
void sfShader_setBvec3Uniform(sfShader* shader,
const char* name,
sfGlslBvec3 vector);
257CSFML_GRAPHICS_API
void sfShader_setBvec4Uniform(sfShader* shader,
const char* name,
sfGlslBvec4 vector);
267CSFML_GRAPHICS_API
void sfShader_setMat3Uniform(sfShader* shader,
const char* name,
const sfGlslMat3* matrix);
277CSFML_GRAPHICS_API
void sfShader_setMat4Uniform(sfShader* shader,
const char* name,
const sfGlslMat4* matrix);
310CSFML_GRAPHICS_API
void sfShader_setTextureUniform(sfShader* shader,
const char* name,
const sfTexture* texture);
333CSFML_GRAPHICS_API
void sfShader_setCurrentTextureUniform(sfShader* shader,
const char* name);
344CSFML_GRAPHICS_API
void sfShader_setFloatUniformArray(sfShader* shader,
const char* name,
const float* scalarArray,
size_t length);
355CSFML_GRAPHICS_API
void sfShader_setVec2UniformArray(sfShader* shader,
const char* name,
const sfGlslVec2* vectorArray,
size_t length);
366CSFML_GRAPHICS_API
void sfShader_setVec3UniformArray(sfShader* shader,
const char* name,
const sfGlslVec3* vectorArray,
size_t length);
377CSFML_GRAPHICS_API
void sfShader_setVec4UniformArray(sfShader* shader,
const char* name,
const sfGlslVec4* vectorArray,
size_t length);
388CSFML_GRAPHICS_API
void sfShader_setMat3UniformArray(sfShader* shader,
const char* name,
const sfGlslMat3* matrixArray,
size_t length);
399CSFML_GRAPHICS_API
void sfShader_setMat4UniformArray(sfShader* shader,
const char* name,
const sfGlslMat4* matrixArray,
size_t length);
421CSFML_GRAPHICS_API CSFML_DEPRECATED
void sfShader_setFloatParameter(sfShader* shader,
const char* name,
float x);
444CSFML_GRAPHICS_API CSFML_DEPRECATED
void sfShader_setFloat2Parameter(sfShader* shader,
const char* name,
float x,
float y);
468CSFML_GRAPHICS_API CSFML_DEPRECATED
void sfShader_setFloat3Parameter(sfShader* shader,
const char* name,
float x,
float y,
float z);
493CSFML_GRAPHICS_API CSFML_DEPRECATED
void sfShader_setFloat4Parameter(sfShader* shader,
const char* name,
float x,
float y,
float z,
float w);
516CSFML_GRAPHICS_API CSFML_DEPRECATED
void sfShader_setVector2Parameter(sfShader* shader,
const char* name,
sfVector2f vector);
539CSFML_GRAPHICS_API CSFML_DEPRECATED
void sfShader_setVector3Parameter(sfShader* shader,
const char* name,
sfVector3f vector);
567CSFML_GRAPHICS_API CSFML_DEPRECATED
void sfShader_setColorParameter(sfShader* shader,
const char* name,
sfColor color);
590CSFML_GRAPHICS_API CSFML_DEPRECATED
void sfShader_setTransformParameter(sfShader* shader,
const char* name,
sfTransform transform);
623CSFML_GRAPHICS_API CSFML_DEPRECATED
void sfShader_setTextureParameter(sfShader* shader,
const char* name,
const sfTexture* texture);
646CSFML_GRAPHICS_API CSFML_DEPRECATED
void sfShader_setCurrentTextureParameter(sfShader* shader,
const char* name);
660CSFML_GRAPHICS_API
unsigned int sfShader_getNativeHandle(
const sfShader* shader);
683CSFML_GRAPHICS_API
void sfShader_bind(
const sfShader* shader);
695CSFML_GRAPHICS_API sfBool sfShader_isAvailable(
void);
714CSFML_GRAPHICS_API sfBool sfShader_isGeometryAvailable(
void);
Utility class for manpulating RGBA colors.
2-component vector of floats
2-component vector of integers
3-component vector of floats