# HG changeset patch # User Sebastien Jodogne # Date 1674842627 -3600 # Node ID a73a8415780fdbccf04712078436c1cd5f9e89a6 # Parent 4b24b7533346f75b12dd1cdb550faa6978f2b5f3 added OpenGLTexture::SetClampingToZero() diff -r 4b24b7533346 -r a73a8415780f OrthancStone/Sources/OpenGL/OpenGLTexture.cpp --- a/OrthancStone/Sources/OpenGL/OpenGLTexture.cpp Fri Jan 27 15:43:24 2023 +0100 +++ b/OrthancStone/Sources/OpenGL/OpenGLTexture.cpp Fri Jan 27 19:03:47 2023 +0100 @@ -211,5 +211,16 @@ return target.release(); } + + + void OpenGLTexture::SetClampingToZero() + { + glBindTexture(GL_TEXTURE_2D, texture_); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER); + + GLfloat colorfv[4] = { 0, 0, 0, 0 }; + glTextureParameterfv(texture_, GL_TEXTURE_BORDER_COLOR, colorfv); + } } } diff -r 4b24b7533346 -r a73a8415780f OrthancStone/Sources/OpenGL/OpenGLTexture.h --- a/OrthancStone/Sources/OpenGL/OpenGLTexture.h Fri Jan 27 15:43:24 2023 +0100 +++ b/OrthancStone/Sources/OpenGL/OpenGLTexture.h Fri Jan 27 19:03:47 2023 +0100 @@ -83,6 +83,12 @@ void Bind(GLint location); Orthanc::ImageAccessor* Download(Orthanc::PixelFormat format); + + /** + * By default, textures are mirrored at the borders. This + * function will set out-of-image access to zero. + **/ + void SetClampingToZero(); }; } }