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>
60 CSFML_GRAPHICS_API sfShader* sfShader_createFromFile(
const char* vertexShaderFilename,
const char* geometryShaderFilename,
const char* fragmentShaderFilename);
80 CSFML_GRAPHICS_API sfShader* sfShader_createFromMemory(
const char* vertexShader,
const char* geometryShader,
const char* fragmentShader);
108 CSFML_GRAPHICS_API
void sfShader_destroy(sfShader* shader);
118 CSFML_GRAPHICS_API
void sfShader_setFloatUniform(sfShader* shader,
const char* name,
float x);
128 CSFML_GRAPHICS_API
void sfShader_setVec2Uniform(sfShader* shader,
const char* name,
sfGlslVec2 vector);
138 CSFML_GRAPHICS_API
void sfShader_setVec3Uniform(sfShader* shader,
const char* name,
sfGlslVec3 vector);
151 CSFML_GRAPHICS_API
void sfShader_setVec4Uniform(sfShader* shader,
const char* name,
sfGlslVec4 vector);
161 CSFML_GRAPHICS_API
void sfShader_setColorUniform(sfShader* shader,
const char* name,
sfColor color);
171 CSFML_GRAPHICS_API
void sfShader_setIntUniform(sfShader* shader,
const char* name,
int x);
181 CSFML_GRAPHICS_API
void sfShader_setIvec2Uniform(sfShader* shader,
const char* name,
sfGlslIvec2 vector);
191 CSFML_GRAPHICS_API
void sfShader_setIvec3Uniform(sfShader* shader,
const char* name,
sfGlslIvec3 vector);
204 CSFML_GRAPHICS_API
void sfShader_setIvec4Uniform(sfShader* shader,
const char* name,
sfGlslIvec4 vector);
214 CSFML_GRAPHICS_API
void sfShader_setIntColorUniform(sfShader* shader,
const char* name,
sfColor color);
224 CSFML_GRAPHICS_API
void sfShader_setBoolUniform(sfShader* shader,
const char* name, sfBool x);
234 CSFML_GRAPHICS_API
void sfShader_setBvec2Uniform(sfShader* shader,
const char* name,
sfGlslBvec2 vector);
244 CSFML_GRAPHICS_API
void sfShader_setBvec3Uniform(sfShader* shader,
const char* name,
sfGlslBvec3 vector);
257 CSFML_GRAPHICS_API
void sfShader_setBvec4Uniform(sfShader* shader,
const char* name,
sfGlslBvec4 vector);
267 CSFML_GRAPHICS_API
void sfShader_setMat3Uniform(sfShader* shader,
const char* name,
const sfGlslMat3* matrix);
277 CSFML_GRAPHICS_API
void sfShader_setMat4Uniform(sfShader* shader,
const char* name,
const sfGlslMat4* matrix);
310 CSFML_GRAPHICS_API
void sfShader_setTextureUniform(sfShader* shader,
const char* name,
const sfTexture* texture);
333 CSFML_GRAPHICS_API
void sfShader_setCurrentTextureUniform(sfShader* shader,
const char* name);
344 CSFML_GRAPHICS_API
void sfShader_setFloatUniformArray(sfShader* shader,
const char* name,
const float* scalarArray,
size_t length);
355 CSFML_GRAPHICS_API
void sfShader_setVec2UniformArray(sfShader* shader,
const char* name,
const sfGlslVec2* vectorArray,
size_t length);
366 CSFML_GRAPHICS_API
void sfShader_setVec3UniformArray(sfShader* shader,
const char* name,
const sfGlslVec3* vectorArray,
size_t length);
377 CSFML_GRAPHICS_API
void sfShader_setVec4UniformArray(sfShader* shader,
const char* name,
const sfGlslVec4* vectorArray,
size_t length);
388 CSFML_GRAPHICS_API
void sfShader_setMat3UniformArray(sfShader* shader,
const char* name,
const sfGlslMat3* matrixArray,
size_t length);
399 CSFML_GRAPHICS_API
void sfShader_setMat4UniformArray(sfShader* shader,
const char* name,
const sfGlslMat4* matrixArray,
size_t length);
421 CSFML_GRAPHICS_API CSFML_DEPRECATED
void sfShader_setFloatParameter(sfShader* shader,
const char* name,
float x);
444 CSFML_GRAPHICS_API CSFML_DEPRECATED
void sfShader_setFloat2Parameter(sfShader* shader,
const char* name,
float x,
float y);
468 CSFML_GRAPHICS_API CSFML_DEPRECATED
void sfShader_setFloat3Parameter(sfShader* shader,
const char* name,
float x,
float y,
float z);
493 CSFML_GRAPHICS_API CSFML_DEPRECATED
void sfShader_setFloat4Parameter(sfShader* shader,
const char* name,
float x,
float y,
float z,
float w);
516 CSFML_GRAPHICS_API CSFML_DEPRECATED
void sfShader_setVector2Parameter(sfShader* shader,
const char* name,
sfVector2f vector);
539 CSFML_GRAPHICS_API CSFML_DEPRECATED
void sfShader_setVector3Parameter(sfShader* shader,
const char* name,
sfVector3f vector);
567 CSFML_GRAPHICS_API CSFML_DEPRECATED
void sfShader_setColorParameter(sfShader* shader,
const char* name,
sfColor color);
590 CSFML_GRAPHICS_API CSFML_DEPRECATED
void sfShader_setTransformParameter(sfShader* shader,
const char* name,
sfTransform transform);
623 CSFML_GRAPHICS_API CSFML_DEPRECATED
void sfShader_setTextureParameter(sfShader* shader,
const char* name,
const sfTexture* texture);
646 CSFML_GRAPHICS_API CSFML_DEPRECATED
void sfShader_setCurrentTextureParameter(sfShader* shader,
const char* name);
660 CSFML_GRAPHICS_API
unsigned int sfShader_getNativeHandle(
const sfShader* shader);
683 CSFML_GRAPHICS_API
void sfShader_bind(
const sfShader* shader);
695 CSFML_GRAPHICS_API sfBool sfShader_isAvailable(
void);
714 CSFML_GRAPHICS_API sfBool sfShader_isGeometryAvailable(
void);
716 #endif // SFML_SHADER_H