Browse Source

Less verbose program parameter setters.

In future there might be functions which take values other than GL_TRUE
and GL_FALSE and this approach would be unsustainable.
pull/279/head
Vladimír Vondruš 14 years ago
parent
commit
4e86dfa6ca
  1. 34
      src/AbstractShaderProgram.h

34
src/AbstractShaderProgram.h

@ -181,35 +181,27 @@ class MAGNUM_EXPORT AbstractShaderProgram {
protected:
/**
* @brief Program parameters
* @brief Allow retrieving program binary
*
* @see setParameter()
* Disabled by default.
* @requires_gl41 Extension @extension{ARB,get_program_binary}
* @note This function should be called after attachShader() calls and
* before link().
*/
enum class Parameter: GLenum {
/**
* Allow retrieving program binary. Disabled by default.
*
* @requires_gl41 Extension @extension{ARB,get_program_binary}
*/
RetrievableBinary = GL_PROGRAM_BINARY_RETRIEVABLE_HINT,
/**
* Allow the program to be bound to individual pipeline stages.
* Disabled by default.
*
* @requires_gl41 Extension @extension{ARB,separate_shader_objects}
*/
Separable = GL_PROGRAM_SEPARABLE
};
inline void setRetrievableBinary(bool enabled) {
glProgramParameteri(program, GL_PROGRAM_BINARY_RETRIEVABLE_HINT, enabled ? GL_TRUE : GL_FALSE);
}
/**
* @brief Set program parameter
* @brief Allow the program to be bound to individual pipeline stages
*
* Disabled by default.
* @requires_gl41 Extension @extension{ARB,separate_shader_objects}
* @note This function should be called after attachShader() calls and
* before link().
*/
inline void setParameter(Parameter parameter, bool value) {
glProgramParameteri(program, static_cast<GLenum>(parameter), value ? GL_TRUE : GL_FALSE);
inline void setSeparable(bool enabled) {
glProgramParameteri(program, GL_PROGRAM_SEPARABLE, enabled ? GL_TRUE : GL_FALSE);
}
/**

Loading…
Cancel
Save