From: <ac...@us...> - 2009-02-16 07:04:57
|
Revision: 3648 http://hugin.svn.sourceforge.net/hugin/?rev=3648&view=rev Author: acmihal Date: 2009-02-16 07:04:54 +0000 (Mon, 16 Feb 2009) Log Message: ----------- Bugfix for rotated images with odd widths. Modified Paths: -------------- hugin/branches/nona-gpu/src/hugin_base/vigra_ext/ImageTransformsGPU.cpp Modified: hugin/branches/nona-gpu/src/hugin_base/vigra_ext/ImageTransformsGPU.cpp =================================================================== --- hugin/branches/nona-gpu/src/hugin_base/vigra_ext/ImageTransformsGPU.cpp 2009-02-14 23:52:42 UTC (rev 3647) +++ hugin/branches/nona-gpu/src/hugin_base/vigra_ext/ImageTransformsGPU.cpp 2009-02-16 07:04:54 UTC (rev 3648) @@ -715,6 +715,7 @@ } // Setup src texture + const int sourceOdd = (sourceChunks[0].height() & 1); GLuint srcTexture; glGenTextures(1, &srcTexture); glBindTexture(GL_TEXTURE_RECTANGLE_ARB, srcTexture); @@ -723,7 +724,7 @@ glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER); glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER); glTexParameterfv(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_BORDER_COLOR, borderColor); - glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, XGLMap[srcGLInternalFormat], sourceChunks[0].width(), sourceChunks[0].height(), 0, XGLMap[srcGLFormat], XGLMap[srcGLType], NULL); + glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, XGLMap[srcGLInternalFormat], sourceChunks[0].width(), sourceChunks[0].height() + sourceOdd, 0, XGLMap[srcGLFormat], XGLMap[srcGLType], NULL); CHECK_GL(); glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, srcFB); @@ -742,7 +743,7 @@ glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_WRAP_S, GL_CLAMP); glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_WRAP_T, GL_CLAMP); - glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_ALPHA, sourceChunks[0].width(), sourceChunks[0].height(), 0, GL_ALPHA, XGLMap[srcAlphaGLType], NULL); + glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_ALPHA, sourceChunks[0].width(), sourceChunks[0].height() + sourceOdd, 0, GL_ALPHA, XGLMap[srcAlphaGLType], NULL); CHECK_GL(); } @@ -756,7 +757,7 @@ glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_WRAP_S, GL_CLAMP); glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_WRAP_T, GL_CLAMP); - glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, XGLMap[srcGLTransferFormat], sourceChunks[0].width(), sourceChunks[0].height(), 0, XGLMap[srcGLFormat], XGLMap[srcGLType], NULL); + glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, XGLMap[srcGLTransferFormat], sourceChunks[0].width(), sourceChunks[0].height() + sourceOdd, 0, XGLMap[srcGLFormat], XGLMap[srcGLType], NULL); CHECK_GL(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |