Add ssao random texture
This commit is contained in:
parent
240ebf94a1
commit
55ea4a7729
8 changed files with 86 additions and 14 deletions
|
|
@ -58,7 +58,7 @@ FGLPostProcessState::FGLPostProcessState()
|
|||
{
|
||||
glGetIntegerv(GL_ACTIVE_TEXTURE, &activeTex);
|
||||
glActiveTexture(GL_TEXTURE0);
|
||||
glGetIntegerv(GL_TEXTURE_BINDING_2D, &textureBinding);
|
||||
glGetIntegerv(GL_TEXTURE_BINDING_2D, &textureBinding[0]);
|
||||
glBindTexture(GL_TEXTURE_2D, 0);
|
||||
if (gl.flags & RFL_SAMPLER_OBJECTS)
|
||||
{
|
||||
|
|
@ -88,6 +88,15 @@ FGLPostProcessState::FGLPostProcessState()
|
|||
glDisable(GL_BLEND);
|
||||
}
|
||||
|
||||
void FGLPostProcessState::SaveTextureBinding1()
|
||||
{
|
||||
glActiveTexture(GL_TEXTURE1);
|
||||
glGetIntegerv(GL_TEXTURE_BINDING_2D, &textureBinding[1]);
|
||||
glBindTexture(GL_TEXTURE_2D, 0);
|
||||
textureBinding1Saved = true;
|
||||
glActiveTexture(GL_TEXTURE0);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Restores state at the end of post processing
|
||||
|
|
@ -121,6 +130,12 @@ FGLPostProcessState::~FGLPostProcessState()
|
|||
|
||||
glUseProgram(currentProgram);
|
||||
|
||||
if (textureBinding1Saved)
|
||||
{
|
||||
glActiveTexture(GL_TEXTURE1);
|
||||
glBindTexture(GL_TEXTURE_2D, 0);
|
||||
}
|
||||
|
||||
glActiveTexture(GL_TEXTURE0);
|
||||
glBindTexture(GL_TEXTURE_2D, 0);
|
||||
if (gl.flags & RFL_SAMPLER_OBJECTS)
|
||||
|
|
@ -128,6 +143,13 @@ FGLPostProcessState::~FGLPostProcessState()
|
|||
glBindSampler(0, samplerBinding[0]);
|
||||
glBindSampler(1, samplerBinding[1]);
|
||||
}
|
||||
glBindTexture(GL_TEXTURE_2D, textureBinding);
|
||||
glBindTexture(GL_TEXTURE_2D, textureBinding[0]);
|
||||
|
||||
if (textureBinding1Saved)
|
||||
{
|
||||
glActiveTexture(GL_TEXTURE1);
|
||||
glBindTexture(GL_TEXTURE_2D, textureBinding[1]);
|
||||
}
|
||||
|
||||
glActiveTexture(activeTex);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue