1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
/* This file is part of the Spring engine (GPL v2 or later), see LICENSE.html */
#ifndef _GLSL_COPY_STATE_H
#define _GLSL_COPY_STATE_H
#include <unordered_map>
#include "Shader.h"
#include "ShaderStates.h"
typedef unsigned int GLuint;
namespace Shader {
/**
* @brief
* Copies all hidden states related to a GLSL program,
* in particular uniforms, sampler bindings, UBO bindings,
* feedback state, geoshader state, ...
*
* @example
* Very useful when you want to recompile an uber-shader
* with a different #define-flagset.
*/
void GLSLCopyState(GLuint newProgID, GLuint oldProgID, std::unordered_map<std::size_t, UniformState, fast_hash>* uniformStates);
}
#endif //_GLSL_COPY_STATE_H
|