Rebased ref, commits from common ancestor: commit 17baabe04cd96467af193373da42eca34d56895d Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Sat Aug 16 05:41:29 2014 +0200
make the shaders compliant to GLSL 1.2 Change-Id: Ic15760ca40d719ae333003c9bc241c813cb284fa diff --git a/canvas/opengl/linearMultiColorGradientFragmentShader.glsl b/canvas/opengl/linearMultiColorGradientFragmentShader.glsl index a3f3358..7ad8813 100644 --- a/canvas/opengl/linearMultiColorGradientFragmentShader.glsl +++ b/canvas/opengl/linearMultiColorGradientFragmentShader.glsl @@ -15,6 +15,13 @@ uniform sampler1D t_stopArray1d; uniform mat3x2 m_transform; varying vec2 v_textureCoords2d; +int max(int x, int y) +{ + if(x > y) + return x; + return y; +} + int findBucket(float t) { int nMinBucket=0; @@ -26,13 +33,13 @@ int findBucket(float t) void main(void) { - const float fAlpha = + float fAlpha = clamp( (m_transform * vec3(v_textureCoords2d,1)).s, 0.0, 1.0 ); - const int nMinBucket=findBucket( fAlpha ); + int nMinBucket = findBucket( fAlpha ); - const float fLerp = + float fLerp = (fAlpha-texture1D(t_stopArray1d, nMinBucket).s) / (texture1D(t_stopArray1d, nMinBucket+1).s - texture1D(t_stopArray1d, nMinBucket).s); diff --git a/canvas/opengl/radialMultiColorGradientFragmentShader.glsl b/canvas/opengl/radialMultiColorGradientFragmentShader.glsl index 6f61a76..ebc6d6f 100644 --- a/canvas/opengl/radialMultiColorGradientFragmentShader.glsl +++ b/canvas/opengl/radialMultiColorGradientFragmentShader.glsl @@ -16,6 +16,13 @@ uniform mat3x2 m_transform; varying vec2 v_textureCoords2d; const vec2 v_center2d = vec2(0,0); +int max(int x, int y) +{ + if(x > y) + return x; + return y; +} + int findBucket(float t) { int nMinBucket=0; @@ -27,15 +34,15 @@ int findBucket(float t) void main(void) { - const float fAlpha = + float fAlpha = clamp( 1.0 - distance( vec2( m_transform * vec3(v_textureCoords2d,1)), v_center2d), 0.0, 1.0 ); - const int nMinBucket=findBucket( fAlpha ); + int nMinBucket=findBucket( fAlpha ); - const float fLerp = + float fLerp = (fAlpha-texture1D(t_stopArray1d, nMinBucket).s) / (texture1D(t_stopArray1d, nMinBucket+1).s - texture1D(t_stopArray1d, nMinBucket).s); diff --git a/canvas/opengl/rectangularMultiColorGradientFragmentShader.glsl b/canvas/opengl/rectangularMultiColorGradientFragmentShader.glsl index 05a8ae5..ea17565 100644 --- a/canvas/opengl/rectangularMultiColorGradientFragmentShader.glsl +++ b/canvas/opengl/rectangularMultiColorGradientFragmentShader.glsl @@ -15,6 +15,13 @@ uniform sampler1D t_stopArray1d; uniform mat3x2 m_transform; varying vec2 v_textureCoords2d; +int max(int x, int y) +{ + if(x > y) + return x; + return y; +} + int findBucket(float t) { int nMinBucket=0; @@ -26,12 +33,12 @@ int findBucket(float t) void main(void) { - const vec2 v = abs( vec2(m_transform * vec3(v_textureCoords2d,1)) ); - const float fAlpha = 1 - max(v.x, v.y); + vec2 v = abs( vec2(m_transform * vec3(v_textureCoords2d,1)) ); + float fAlpha = 1 - max(v.x, v.y); - const int nMinBucket=findBucket( fAlpha ); + int nMinBucket=findBucket( fAlpha ); - const float fLerp = + float fLerp = (fAlpha-texture1D(t_stopArray1d, nMinBucket).s) / (texture1D(t_stopArray1d, nMinBucket+1).s - texture1D(t_stopArray1d, nMinBucket).s); diff --git a/canvas/opengl/rectangularTwoColorGradientFragmentShader.glsl b/canvas/opengl/rectangularTwoColorGradientFragmentShader.glsl index a92a533..038cdff 100644 --- a/canvas/opengl/rectangularTwoColorGradientFragmentShader.glsl +++ b/canvas/opengl/rectangularTwoColorGradientFragmentShader.glsl @@ -15,8 +15,8 @@ uniform mat3x2 m_transform; varying vec2 v_textureCoords2d; void main(void) { - const vec2 v = abs( vec2(m_transform * vec3(v_textureCoords2d,1)) ); - const float t = max(v.x, v.y); + vec2 v = abs( vec2(m_transform * vec3(v_textureCoords2d,1)) ); + float t = max(v.x, v.y); gl_FragColor = mix(v_startColor4d, v_endColor4d, 1.0-t); commit 3001d74b9ebf4414e2db1625bbf964e5d2cdbc12 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Sat Aug 16 05:40:58 2014 +0200 use generic implementation for OSX Change-Id: I9b82ca8bb6c1c6453bbedac2c60bec4d6a98c009 diff --git a/slideshow/Library_OGLTrans.mk b/slideshow/Library_OGLTrans.mk index 80879ef..20596b5 100644 --- a/slideshow/Library_OGLTrans.mk +++ b/slideshow/Library_OGLTrans.mk @@ -44,16 +44,10 @@ $(eval $(call gb_Library_use_externals,OGLTrans,\ $(eval $(call gb_Library_set_componentfile,OGLTrans,slideshow/source/engine/OGLTrans/ogltrans)) ifeq ($(strip $(OS)),MACOSX) -$(eval $(call gb_Library_add_objcobjects,OGLTrans,\ - slideshow/source/engine/OGLTrans/mac/aquaOpenGLView \ - slideshow/source/engine/OGLTrans/mac/OGLTrans_Shaders \ - ,\ -)) -$(eval $(call gb_Library_add_objcxxobjects,OGLTrans,\ - slideshow/source/engine/OGLTrans/mac/OGLTrans_TransitionerImpl \ - slideshow/source/engine/OGLTrans/mac/OGLTrans_TransitionImpl \ - , $(gb_LinkTarget_EXCEPTIONFLAGS) \ +$(eval $(call gb_Library_add_exception_objects,OGLTrans,\ + slideshow/source/engine/OGLTrans/generic/OGLTrans_TransitionerImpl \ + slideshow/source/engine/OGLTrans/generic/OGLTrans_TransitionImpl \ )) $(eval $(call gb_Library_use_system_darwin_frameworks,OGLTrans,\ commit 2a6c212a7944d3be8c22d50bf460fd1cbabfd9ad Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Sat Aug 16 05:39:31 2014 +0200 fix shader names, the .glsl is attached in OpenGLHelper::LoadShader Change-Id: I267c1fefa5330359f3aea0d57d38a153232b655f diff --git a/canvas/source/opengl/ogl_spritedevicehelper.cxx b/canvas/source/opengl/ogl_spritedevicehelper.cxx index c7a7eb6..58a59ea 100644 --- a/canvas/source/opengl/ogl_spritedevicehelper.cxx +++ b/canvas/source/opengl/ogl_spritedevicehelper.cxx @@ -110,22 +110,22 @@ namespace oglcanvas initContext(); mnLinearMultiColorGradientProgram = - OpenGLHelper::LoadShaders("dummyVertexShader.glsl", "linearMultiColorGradientFragmentShader.glsl"); + OpenGLHelper::LoadShaders("dummyVertexShader", "linearMultiColorGradientFragmentShader"); mnLinearTwoColorGradientProgram = - OpenGLHelper::LoadShaders("dummyVertexShader.glsl", "linearTwoColorGradientFragmentShader.glsl"); + OpenGLHelper::LoadShaders("dummyVertexShader", "linearTwoColorGradientFragmentShader"); mnRadialMultiColorGradientProgram = - OpenGLHelper::LoadShaders("dummyVertexShader.glsl", "radialMultiColorGradientFragmentShader.glsl"); + OpenGLHelper::LoadShaders("dummyVertexShader", "radialMultiColorGradientFragmentShader"); mnRadialTwoColorGradientProgram = - OpenGLHelper::LoadShaders("dummyVertexShader.glsl", "radialTwoColorGradientFragmentShader.glsl"); + OpenGLHelper::LoadShaders("dummyVertexShader", "radialTwoColorGradientFragmentShader"); mnRectangularMultiColorGradientProgram = - OpenGLHelper::LoadShaders("dummyVertexShader.glsl", "rectangularMultiColorGradientFragmentShader.glsl"); + OpenGLHelper::LoadShaders("dummyVertexShader", "rectangularMultiColorGradientFragmentShader"); mnRectangularTwoColorGradientProgram = - OpenGLHelper::LoadShaders("dummyVertexShader.glsl", "rectangularTwoColorGradientFragmentShader.glsl"); + OpenGLHelper::LoadShaders("dummyVertexShader", "rectangularTwoColorGradientFragmentShader"); maContext.makeCurrent(); commit 0808c9333585667a994802be3350763f1af12da9 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Sat Aug 16 05:39:09 2014 +0200 request a legacy context for OGLTrans Change-Id: If001121da14ca9d15f6c36af30428f1851710524 diff --git a/canvas/source/opengl/ogl_spritedevicehelper.cxx b/canvas/source/opengl/ogl_spritedevicehelper.cxx index 72df0e9..c7a7eb6 100644 --- a/canvas/source/opengl/ogl_spritedevicehelper.cxx +++ b/canvas/source/opengl/ogl_spritedevicehelper.cxx @@ -104,6 +104,7 @@ namespace oglcanvas VCLUnoHelper::GetInterface(&rWindow), uno::UNO_QUERY_THROW) ); + maContext.requestLegacyContext(); maContext.init(&rWindow); // init window context initContext(); commit 559a448e23f212b18b4608c3d9c7a92017e16d13 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Sat Aug 16 05:38:04 2014 +0200 don't try to use X11 functions on OSX Change-Id: Ife987833a52c7ed0b55f1003df1ee0dad2011cc0 diff --git a/slideshow/source/engine/OGLTrans/generic/OGLTrans_TransitionerImpl.cxx b/slideshow/source/engine/OGLTrans/generic/OGLTrans_TransitionerImpl.cxx index 949dc36..5879330 100644 --- a/slideshow/source/engine/OGLTrans/generic/OGLTrans_TransitionerImpl.cxx +++ b/slideshow/source/engine/OGLTrans/generic/OGLTrans_TransitionerImpl.cxx @@ -68,7 +68,7 @@ #include "OGLTrans_TransitionImpl.hxx" -#if defined( UNX ) +#if defined( UNX ) && !defined( MACOSX ) #include <X11/keysym.h> #include <X11/X.h> #endif @@ -153,7 +153,7 @@ int calcComponentOrderIndex(const uno::Sequence<sal_Int8>& rTags) return -1; } -#ifdef UNX +#if defined( UNX ) && !defined( MACOSX ) // not thread safe static bool errorTriggered; @@ -258,7 +258,7 @@ private: bool mbUseEnteringPixmap; bool mbFreeLeavingPixmap; bool mbFreeEnteringPixmap; -#ifdef UNX +#if defined( UNX ) && !defined( MACOSX ) Pixmap maLeavingPixmap; Pixmap maEnteringPixmap; #endif @@ -373,6 +373,7 @@ bool OGLTransitionerImpl::initWindowFromSlideShowView( const Reference< presenta aDeviceParams[1] >>= aVal; mpContext = boost::make_shared<OpenGLContext>(); + mpContext->requestLegacyContext(); if( !mpContext->init( reinterpret_cast< Window* >( aVal ) ) ) return false; @@ -383,7 +384,7 @@ bool OGLTransitionerImpl::initWindowFromSlideShowView( const Reference< presenta GLWindow& rGLWindow(mpContext->getOpenGLWindow()); -#ifdef UNX +#if defined( UNX ) && !defined( MACOSX ) mbTextureFromPixmap = rGLWindow.HasGLXExtension( "GLX_EXT_texture_from_pixmap" ); #endif mbGenerateMipmap = rGLWindow.HasGLExtension( "GL_SGIS_generate_mipmap" ); @@ -527,7 +528,7 @@ void OGLTransitionerImpl::impl_prepareSlides() mpContext->sync(); -#ifdef UNX +#if defined( UNX ) && !defined( MACOSX ) // synchronized X still gives us much smoother play // I suspect some issues in above code in slideshow // synchronize whole transition for now @@ -1314,7 +1315,7 @@ void OGLTransitionerImpl::disposing() } #endif -#ifdef UNX +#if defined( UNX ) && !defined( MACOSX ) if( mbRestoreSync && bool(mpContext) ) { // try to reestablish synchronize state char* sal_synchronize = getenv("SAL_SYNCHRONIZE"); @@ -1348,7 +1349,7 @@ OGLTransitionerImpl::OGLTransitionerImpl() , mbUseEnteringPixmap(false) , mbFreeLeavingPixmap(false) , mbFreeEnteringPixmap(false) -#ifdef UNX +#if defined( UNX ) && !defined( MACOSX ) , maLeavingPixmap(0) , maEnteringPixmap(0) #endif commit 5bc3312a197181ddcf1769c1a0ce2369c90ca263 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Sat Aug 16 05:37:21 2014 +0200 use glew instead of directly including OpenGL headers Change-Id: I7337d2d2f116f465bf6988dd9c7997b0267ca1cc diff --git a/slideshow/source/engine/OGLTrans/generic/OGLTrans_TransitionImpl.hxx b/slideshow/source/engine/OGLTrans/generic/OGLTrans_TransitionImpl.hxx index 80c4b41..f66eebb 100644 --- a/slideshow/source/engine/OGLTrans/generic/OGLTrans_TransitionImpl.hxx +++ b/slideshow/source/engine/OGLTrans/generic/OGLTrans_TransitionImpl.hxx @@ -33,7 +33,7 @@ #include <boost/noncopyable.hpp> #include <boost/shared_ptr.hpp> -#include <GL/gl.h> +#include <GL/glew.h> #include <basegfx/vector/b2dvector.hxx> #include <basegfx/vector/b3dvector.hxx> commit 2e053ef7d453edc51107ebb01de896cf45aa19e1 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Sat Aug 16 05:36:30 2014 +0200 add possibility to request a compatibility context Change-Id: I0135e81f925fda19c06144d21d2f2b0efc9e57be diff --git a/include/vcl/opengl/OpenGLContext.hxx b/include/vcl/opengl/OpenGLContext.hxx index 8faaf7b..c8ace97 100644 --- a/include/vcl/opengl/OpenGLContext.hxx +++ b/include/vcl/opengl/OpenGLContext.hxx @@ -149,6 +149,8 @@ public: OpenGLContext(); ~OpenGLContext(); + void requestLegacyContext(); + bool init(Window* pParent = 0); bool init(SystemChildWindow* pChildWindow); @@ -184,6 +186,7 @@ private: SystemChildWindow* m_pChildWindow; boost::scoped_ptr<SystemChildWindow> m_pChildWindowGC; bool mbInitialized; + bool mbRequestLegacyContext; }; #endif diff --git a/vcl/source/opengl/OpenGLContext.cxx b/vcl/source/opengl/OpenGLContext.cxx index 707b0d8..3d89c70 100644 --- a/vcl/source/opengl/OpenGLContext.cxx +++ b/vcl/source/opengl/OpenGLContext.cxx @@ -29,7 +29,8 @@ GLWindow::~GLWindow() OpenGLContext::OpenGLContext(): mpWindow(NULL), m_pChildWindow(NULL), - mbInitialized(false) + mbInitialized(false), + mbRequestLegacyContext(false) { } @@ -60,6 +61,11 @@ OpenGLContext::~OpenGLContext() #endif } +void OpenGLContext::requestLegacyContext() +{ + mbRequestLegacyContext = true; +} + #if defined( _WIN32 ) static LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { @@ -486,6 +492,9 @@ bool OpenGLContext::ImplInit() (CGLPixelFormatAttribute) 0 }; + if (mbRequestLegacyContext) + pixelFormatAttributes[1] = (CGLPixelFormatAttribute) kCGLOGLPVersion_Legacy; + CGLPixelFormatObj pixelFormat; GLint numberOfPixels; CGLChoosePixelFormat(pixelFormatAttributes, &pixelFormat, &numberOfPixels); commit d61d2f6171368dc707255c34af8f5205bc7f84bd Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Sat Aug 16 00:09:02 2014 +0200 WIP debug statements diff --git a/chart2/source/view/main/GL3DRenderer.cxx b/chart2/source/view/main/GL3DRenderer.cxx index 9f76bdd..4c11cd8 100644 --- a/chart2/source/view/main/GL3DRenderer.cxx +++ b/chart2/source/view/main/GL3DRenderer.cxx @@ -229,7 +229,7 @@ void OpenGL3DRenderer::CheckGLSLVersion() void OpenGL3DRenderer::ShaderResources::LoadShaders() { - + CHECK_GL_ERROR(); if (m_b330Support) { m_3DProID = OpenGLHelper::LoadShaders("shape3DVertexShader", "shape3DFragmentShader"); @@ -238,7 +238,10 @@ void OpenGL3DRenderer::ShaderResources::LoadShaders() m_3DModelID = glGetUniformLocation(m_3DProID, "M"); m_3DNormalMatrixID = glGetUniformLocation(m_3DProID, "normalMatrix"); m_3DVertexID = glGetAttribLocation(m_3DProID, "vertexPositionModelspace"); + SAL_DEBUG("first " << m_3DVertexID); m_3DNormalID = glGetAttribLocation(m_3DProID, "vertexNormalModelspace"); + SAL_DEBUG("second " << m_3DNormalID); + CHECK_GL_ERROR(); if (m_bScrollFlag) { m_3DBatchProID = OpenGLHelper::LoadShaders("shape3DVertexShaderBatchScroll", "shape3DFragmentShaderBatchScroll"); @@ -249,6 +252,8 @@ void OpenGL3DRenderer::ShaderResources::LoadShaders() } else m_3DBatchProID = OpenGLHelper::LoadShaders("shape3DVertexShaderBatch", "shape3DFragmentShaderBatch"); + + CHECK_GL_ERROR(); m_3DBatchProjectionID = glGetUniformLocation(m_3DBatchProID, "P"); m_3DBatchViewID = glGetUniformLocation(m_3DBatchProID, "V"); m_3DBatchModelID = glGetAttribLocation(m_3DBatchProID, "M"); @@ -260,6 +265,7 @@ void OpenGL3DRenderer::ShaderResources::LoadShaders() //check whether the texture array is support mbTexBatchSupport = GLEW_EXT_texture_array == 1; #endif + CHECK_GL_ERROR(); if (mbTexBatchSupport) { m_BatchTextProID = OpenGLHelper::LoadShaders("textVertexShaderBatch", "textFragmentShaderBatch"); @@ -269,9 +275,11 @@ void OpenGL3DRenderer::ShaderResources::LoadShaders() m_BatchTextTexCoordID = glGetAttribLocation(m_BatchTextProID, "texCoord"); } mbTexBatchSupport = m_BatchTextProID ? true : false; + CHECK_GL_ERROR(); } else { + CHECK_GL_ERROR(); //use 300 m_3DProID = OpenGLHelper::LoadShaders("shape3DVertexShaderV300", "shape3DFragmentShaderV300"); m_3DProjectionID = glGetUniformLocation(m_3DProID, "P"); @@ -295,25 +303,36 @@ void OpenGL3DRenderer::ShaderResources::LoadShaders() m_3DVertexID = glGetAttribLocation(m_3DProID, "vertexPositionModelspace"); m_3DNormalID = glGetAttribLocation(m_3DProID, "vertexNormalModelspace"); } + CHECK_GL_ERROR(); if (!mbTexBatchSupport) { m_TextProID = OpenGLHelper::LoadShaders("textVertexShader", "textFragmentShader"); m_TextMatrixID = glGetUniformLocation(m_TextProID, "MVP"); m_TextVertexID = glGetAttribLocation(m_TextProID, "vPosition"); + SAL_DEBUG(m_TextVertexID); m_TextTexCoordID = glGetAttribLocation(m_TextProID, "texCoord"); + SAL_DEBUG(m_TextTexCoordID); m_TextTexID = glGetUniformLocation(m_TextProID, "TextTex"); } + CHECK_GL_ERROR(); m_ScreenTextProID = OpenGLHelper::LoadShaders("screenTextVertexShader", "screenTextFragmentShader"); m_ScreenTextVertexID = glGetAttribLocation(m_ScreenTextProID, "vPosition"); + SAL_DEBUG(m_ScreenTextVertexID); m_ScreenTextTexCoordID = glGetAttribLocation(m_ScreenTextProID, "texCoord"); + SAL_DEBUG(m_ScreenTextTexCoordID); m_ScreenTextTexID = glGetUniformLocation(m_ScreenTextProID, "TextTex"); m_ScreenTextColorID = glGetUniformLocation(m_ScreenTextProID, "textColor"); + CHECK_GL_ERROR(); m_CommonProID = OpenGLHelper::LoadShaders("commonVertexShader", "commonFragmentShader"); + SAL_DEBUG(m_CommonProID); m_MatrixID = glGetUniformLocation(m_CommonProID, "MVP"); - m_2DVertexID = glGetAttribLocation(m_CommonProID, "vPosition"); + SAL_DEBUG(m_MatrixID); m_2DColorID = glGetUniformLocation(m_CommonProID, "vColor"); + SAL_DEBUG(m_2DColorID); + m_2DVertexID = glGetAttribLocation(m_CommonProID, "vPosition"); + SAL_DEBUG(m_2DVertexID); CHECK_GL_ERROR(); } @@ -354,21 +373,33 @@ void OpenGL3DRenderer::SetCameraInfo(const glm::vec3& pos, const glm::vec3& dire void OpenGL3DRenderer::init() { + CHECK_GL_ERROR(); glEnable(GL_CULL_FACE); + CHECK_GL_ERROR(); glCullFace(GL_BACK); + CHECK_GL_ERROR(); glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); // Enable depth test + CHECK_GL_ERROR(); glEnable(GL_DEPTH_TEST); // Accept fragment if it closer to the camera than the former one + CHECK_GL_ERROR(); glDepthFunc(GL_LESS); + CHECK_GL_ERROR(); glEnable(GL_LINE_SMOOTH); + CHECK_GL_ERROR(); glHint(GL_LINE_SMOOTH_HINT, GL_NICEST); + CHECK_GL_ERROR(); glEnable(GL_BLEND); + CHECK_GL_ERROR(); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + CHECK_GL_ERROR(); glEnable(GL_MULTISAMPLE); + CHECK_GL_ERROR(); ClearBuffer(); + CHECK_GL_ERROR(); glGenBuffers(1, &m_CubeVertexBuf); glGenBuffers(1, &m_CubeNormalBuf); @@ -383,16 +414,19 @@ void OpenGL3DRenderer::init() glBindBuffer(GL_ARRAY_BUFFER, m_BoundBox); glBufferData(GL_ARRAY_BUFFER, sizeof(boundBox), boundBox, GL_STATIC_DRAW); glBindBuffer(GL_ARRAY_BUFFER, 0); + CHECK_GL_ERROR(); glGenBuffers(1, &m_BoundBoxNormal); glBindBuffer(GL_ARRAY_BUFFER, m_BoundBoxNormal); glBufferData(GL_ARRAY_BUFFER, sizeof(boundBoxNormal), boundBoxNormal, GL_STATIC_DRAW); glBindBuffer(GL_ARRAY_BUFFER, 0); + CHECK_GL_ERROR(); m_fViewAngle = 30.0f; m_3DProjection = glm::perspective(m_fViewAngle, (float)m_iWidth / (float)m_iHeight, 0.01f, 6000.0f); CheckGLSLVersion(); + CHECK_GL_ERROR(); maResources.LoadShaders(); maPickingResources.LoadShaders(); @@ -410,6 +444,7 @@ void OpenGL3DRenderer::init() glBindBuffer(GL_ARRAY_BUFFER, m_RenderVertexBuf); glBufferData(GL_ARRAY_BUFFER, sizeof(squareVertices), squareVertices, GL_STATIC_DRAW); glBindBuffer(GL_ARRAY_BUFFER, 0); + CHECK_GL_ERROR(); OpenGLHelper::createFramebuffer(m_iWidth, m_iHeight, mnPickingFbo, mnPickingRboDepth, mnPickingRboColor); @@ -836,6 +871,7 @@ int OpenGL3DRenderer::GenerateRoundCornerBar(std::vector<glm::vec3> &vertices, s void OpenGL3DRenderer::RenderLine3D(const Polygon3DInfo& polygon) { + CHECK_GL_ERROR(); glUseProgram(maResources.m_CommonProID); PosVecf3 trans = {0.0f, 0, 0.0}; PosVecf3 angle = {0.0f, 0.0f, 0.0f}; @@ -858,10 +894,14 @@ void OpenGL3DRenderer::RenderLine3D(const Polygon3DInfo& polygon) else glUniform4fv(maResources.m_2DColorID, 1, &polygon.polygonColor[0]); glUniformMatrix4fv(maResources.m_MatrixID, 1, GL_FALSE, &m_3DMVP[0][0]); + CHECK_GL_ERROR(); // 1rst attribute buffer : vertices glEnableVertexAttribArray(maResources.m_2DVertexID); + SAL_DEBUG(maResources.m_2DVertexID); + CHECK_GL_ERROR(); glBindBuffer(GL_ARRAY_BUFFER, m_VertexBuffer); + CHECK_GL_ERROR(); glVertexAttribPointer(maResources.m_2DVertexID, // attribute 3, // size GL_FLOAT, // type @@ -870,16 +910,23 @@ void OpenGL3DRenderer::RenderLine3D(const Polygon3DInfo& polygon) (void*)0 // array buffer offset ); + CHECK_GL_ERROR(); glLineWidth(polygon.lineWidth); + CHECK_GL_ERROR(); glDrawArrays(GL_LINE_STRIP, 0, pointList->size()); + CHECK_GL_ERROR(); glDisableVertexAttribArray(maResources.m_2DVertexID); + CHECK_GL_ERROR(); glBindBuffer(GL_ARRAY_BUFFER, 0); + CHECK_GL_ERROR(); } glUseProgram(0); + CHECK_GL_ERROR(); } void OpenGL3DRenderer::RenderPolygon3D(const Polygon3DInfo& polygon) { + CHECK_GL_ERROR(); size_t verticesNum = polygon.verticesList.size(); size_t normalsNum = polygon.normalsList.size(); //check whether the number of vertices and normals are equal @@ -887,11 +934,13 @@ void OpenGL3DRenderer::RenderPolygon3D(const Polygon3DInfo& polygon) glPolygonOffset(1.0, 1.0); else glPolygonOffset(-1.0, -1.0); + CHECK_GL_ERROR(); if (verticesNum != normalsNum) { return ; } glBindBuffer(GL_UNIFORM_BUFFER, 0); + CHECK_GL_ERROR(); if(mbPickingMode) { glUseProgram(maPickingResources.m_CommonProID); @@ -905,6 +954,7 @@ void OpenGL3DRenderer::RenderPolygon3D(const Polygon3DInfo& polygon) glUseProgram(maResources.m_3DProID); glUniformMatrix4fv(maResources.m_3DViewID, 1, GL_FALSE, &m_3DView[0][0]); glUniformMatrix4fv(maResources.m_3DProjectionID, 1, GL_FALSE, &m_3DProjection[0][0]); + CHECK_GL_ERROR(); if (maResources.m_b330Support) { //update ubo @@ -920,12 +970,14 @@ void OpenGL3DRenderer::RenderPolygon3D(const Polygon3DInfo& polygon) glUniform1fv(maResources.m_3DMinCoordXID, 1, &minCoordX); glUniform1fv(maResources.m_3DMaxCoordXID, 1, &maxCoordX); glUniform1i(maResources.m_3DUndrawID, m_bUndrawFlag); + CHECK_GL_ERROR(); //update light information glUniform4fv(maResources.m_3DLightColorID, m_iLightNum, (GLfloat*)m_LightColor); glUniform4fv(maResources.m_3DLightPosID, m_iLightNum, (GLfloat*)m_PositionWorldspace); glUniform1fv(maResources.m_3DLightPowerID, m_iLightNum, m_fLightPower); glUniform1i(maResources.m_3DLightNumID, m_iLightNum); glUniform4fv(maResources.m_3DLightAmbientID, 1, &m_Ambient[0]); + CHECK_GL_ERROR(); //update meterial information glUniform4fv(maResources.m_3DMaterialAmbientID, 1, &polygon.material.ambient[0]); glUniform4fv(maResources.m_3DMaterialDiffuseID, 1, &polygon.material.diffuse[0]); @@ -959,9 +1011,13 @@ void OpenGL3DRenderer::RenderPolygon3D(const Polygon3DInfo& polygon) { //fill normal buffer glBindBuffer(GL_ARRAY_BUFFER, m_NormalBuffer); + CHECK_GL_ERROR(); glBufferData(GL_ARRAY_BUFFER, normalList->size() * sizeof(glm::vec3), &normalList[0][0], GL_STATIC_DRAW); + CHECK_GL_ERROR(); glUniformMatrix4fv(maResources.m_3DModelID, 1, GL_FALSE, &m_Model[0][0]); + CHECK_GL_ERROR(); glUniformMatrix3fv(maResources.m_3DNormalMatrixID, 1, GL_FALSE, &normalInverseTranspos[0][0]); + CHECK_GL_ERROR(); } else { @@ -969,10 +1025,13 @@ void OpenGL3DRenderer::RenderPolygon3D(const Polygon3DInfo& polygon) glUniformMatrix4fv(maPickingResources.m_MatrixID, 1, GL_FALSE, &aMVP[0][0]); glUniform4fv(maPickingResources.m_2DColorID, 1, &polygon.id[0]); } + CHECK_GL_ERROR(); GLint maVertexID = mbPickingMode ? maPickingResources.m_2DVertexID : maResources.m_3DVertexID; // 1rst attribute buffer : vertices glEnableVertexAttribArray(maVertexID); + CHECK_GL_ERROR(); glBindBuffer(GL_ARRAY_BUFFER, m_VertexBuffer); + CHECK_GL_ERROR(); glVertexAttribPointer(maVertexID, // attribute 3, // size GL_FLOAT, // type @@ -980,11 +1039,14 @@ void OpenGL3DRenderer::RenderPolygon3D(const Polygon3DInfo& polygon) 0, // stride (void*)0 // array buffer offset ); + CHECK_GL_ERROR(); if(!mbPickingMode) { // 2nd attribute buffer : normals glEnableVertexAttribArray(maResources.m_3DNormalID); + CHECK_GL_ERROR(); glBindBuffer(GL_ARRAY_BUFFER, m_NormalBuffer); + CHECK_GL_ERROR(); glVertexAttribPointer(maResources.m_3DNormalID, // attribute 3, // size GL_FLOAT, // type @@ -993,14 +1055,20 @@ void OpenGL3DRenderer::RenderPolygon3D(const Polygon3DInfo& polygon) (void*)0 // array buffer offset ); } + CHECK_GL_ERROR(); glDrawArrays(GL_POLYGON, 0, pointList->size()); + CHECK_GL_ERROR(); glDisableVertexAttribArray(maVertexID); + CHECK_GL_ERROR(); if(!mbPickingMode) glDisableVertexAttribArray(maResources.m_3DNormalID); + CHECK_GL_ERROR(); glBindBuffer(GL_ARRAY_BUFFER, 0); + CHECK_GL_ERROR(); } glUseProgram(0); + CHECK_GL_ERROR(); } namespace { @@ -1034,6 +1102,7 @@ void OpenGL3DRenderer::ReleasePolygonShapes() void OpenGL3DRenderer::RenderPolygon3DObject() { glDepthMask(GL_FALSE); + CHECK_GL_ERROR(); for (size_t i = 0; i < m_Polygon3DInfoList.size(); i++) { Polygon3DInfo &polygon = m_Polygon3DInfoList[i]; @@ -1041,6 +1110,7 @@ void OpenGL3DRenderer::RenderPolygon3DObject() { //just use the common shader is ok for lines RenderLine3D(polygon); + CHECK_GL_ERROR(); } else { @@ -1310,7 +1380,9 @@ void OpenGL3DRenderer::UpdateBatch3DUniformBlock() if(mbPickingMode) return; + CHECK_GL_ERROR(); glBindBuffer(GL_UNIFORM_BUFFER, m_Batch3DUBOBuffer); + CHECK_GL_ERROR(); glBufferSubData(GL_UNIFORM_BUFFER, 0, sizeof(GLint), &m_LightsInfo.lightNum); CHECK_GL_ERROR(); //current std140 alignment: 16 @@ -1327,7 +1399,9 @@ void OpenGL3DRenderer::Update3DUniformBlock() if(mbPickingMode) return; + CHECK_GL_ERROR(); glBindBuffer(GL_UNIFORM_BUFFER, m_3DUBOBuffer); + CHECK_GL_ERROR(); glBufferSubData(GL_UNIFORM_BUFFER, 0, sizeof(GLint), &m_LightsInfo.lightNum); CHECK_GL_ERROR(); //current std140 alignment: 16 @@ -1555,9 +1629,11 @@ void OpenGL3DRenderer::ReleaseExtrude3DShapes() void OpenGL3DRenderer::RenderExtrude3DObject() { + CHECK_GL_ERROR(); glEnable(GL_DEPTH_TEST); glEnable(GL_CULL_FACE); glCullFace(GL_BACK); + CHECK_GL_ERROR(); if(mbPickingMode) { glUseProgram(maPickingResources.m_CommonProID); @@ -1569,6 +1645,7 @@ void OpenGL3DRenderer::RenderExtrude3DObject() glUseProgram(maResources.m_3DProID); glUniformMatrix4fv(maResources.m_3DViewID, 1, GL_FALSE, &m_3DView[0][0]); glUniformMatrix4fv(maResources.m_3DProjectionID, 1, GL_FALSE, &m_3DProjection[0][0]); + CHECK_GL_ERROR(); if (maResources.m_b330Support) { //update ubo @@ -1980,6 +2057,7 @@ void OpenGL3DRenderer::RenderTextShapeBatch() CHECK_GL_ERROR(); glEnableVertexAttribArray(maResources.m_BatchTextTexCoordID); glBindBuffer(GL_ARRAY_BUFFER, m_TextTexCoordBufBatch); + CHECK_GL_ERROR(); glVertexAttribPointer( maResources.m_BatchTextTexCoordID, 3, // size @@ -1993,8 +2071,10 @@ void OpenGL3DRenderer::RenderTextShapeBatch() { int vertexNum = m_TextInfoBatch.texture[i].subTextureNum; glBindBuffer(GL_ARRAY_BUFFER, m_VertexBuffer); + CHECK_GL_ERROR(); glBufferData(GL_ARRAY_BUFFER, 4 * vertexNum * sizeof(glm::vec3), &m_TextInfoBatch.vertexList[4 * i * m_TextInfoBatch.batchNum], GL_STATIC_DRAW); glBindBuffer(GL_ARRAY_BUFFER, m_TextTexCoordBufBatch); + CHECK_GL_ERROR(); glBufferData(GL_ARRAY_BUFFER, 4 * vertexNum * sizeof(glm::vec3), &m_TextInfoBatch.textureCoordList[4 * i * m_TextInfoBatch.batchNum], GL_STATIC_DRAW); glBindTexture(GL_TEXTURE_2D_ARRAY, m_TextInfoBatch.texture[i].textureID); CHECK_GL_ERROR(); @@ -2008,6 +2088,7 @@ void OpenGL3DRenderer::RenderTextShapeBatch() glDisableVertexAttribArray(maResources.m_BatchTextTexCoordID); CHECK_GL_ERROR(); glBindTexture(GL_TEXTURE_2D_ARRAY, 0); + CHECK_GL_ERROR(); glUseProgram(0); } void OpenGL3DRenderer::RenderTextShape() @@ -2083,10 +2164,14 @@ void OpenGL3DRenderer::CreateSceneBoxView() void OpenGL3DRenderer::ClearBuffer() { + CHECK_GL_ERROR(); glDisable(GL_DEPTH_TEST); + CHECK_GL_ERROR(); glClearDepth(1.0f); + CHECK_GL_ERROR(); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + CHECK_GL_ERROR(); /* * TODO: moggi: use a shader!!! @@ -2102,15 +2187,20 @@ void OpenGL3DRenderer::ClearBuffer() */ glEnable(GL_DEPTH_TEST); + CHECK_GL_ERROR(); } void OpenGL3DRenderer::ProcessUnrenderedShape(bool bNewScene) { glViewport(0, 0, m_iWidth, m_iHeight); + CHECK_GL_ERROR(); ClearBuffer(); + CHECK_GL_ERROR(); CreateSceneBoxView(); + CHECK_GL_ERROR(); CalcScrollMoveMatrix(bNewScene); //Polygon + CHECK_GL_ERROR(); RenderPolygon3DObject(); //Shape3DExtrudeObject if(mbPickingMode) commit c59ca7e13ad80ab1f0e275a517d5c59fdfb44762 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Fri Aug 15 10:48:24 2014 +0200 add a note about deprecated functionality Change-Id: Ic980e633f7c9cdcbb3a1b512d66bfd8279d16339 diff --git a/chart2/opengl/README.deprecated b/chart2/opengl/README.deprecated new file mode 100644 index 0000000..a13de9a --- /dev/null +++ b/chart2/opengl/README.deprecated @@ -0,0 +1,15 @@ +deprecated features + +GL_LIGHTING +GL_TEXTURE_2D +GL_POINT_SMOOTH +GL_TEXTURE_WRAP_S +GL_TEXTURE_WRAP_T + + +GLSL + +texture*D +varying +attribute +missing version string commit 2dbe0a886efa23bde4ba7dd57828833afe7528ee Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Fri Aug 15 10:47:18 2014 +0200 don't even try to create a shape for non existing values Change-Id: I0af9285c2fa0371607e9ec750bb07968244c44d8 diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx index 0299b92..6359dc6 100644 --- a/chart2/source/view/charttypes/GL3DBarChart.cxx +++ b/chart2/source/view/charttypes/GL3DBarChart.cxx @@ -538,6 +538,9 @@ void GL3DBarChart::create3DShapes(const boost::ptr_vector<VDataSeries>& rDataSer } float nVal = rDataSeries.getYValue(nIndex); + if (rtl::math::isNan(nVal)) + continue; + float nXPos = nIndex * (BAR_SIZE_X + BAR_DISTANCE_X) + BAR_DISTANCE_X; glm::mat4 aScaleMatrix = glm::scale(glm::vec3(BAR_SIZE_X, BAR_SIZE_Y, float(nVal/nMaxVal))); commit c5eccb4d1d16ea5f069408ac533d2362b92ae34f Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Fri Aug 15 09:28:27 2014 +0200 fixed pipeline functions are not available in core context Change-Id: I50f5e876da902181f8ab5c9571df61f035630218 diff --git a/chart2/source/view/main/GL3DRenderer.cxx b/chart2/source/view/main/GL3DRenderer.cxx index b9e8063..9f76bdd 100644 --- a/chart2/source/view/main/GL3DRenderer.cxx +++ b/chart2/source/view/main/GL3DRenderer.cxx @@ -2088,6 +2088,8 @@ void OpenGL3DRenderer::ClearBuffer() glClearDepth(1.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + /* + * TODO: moggi: use a shader!!! glBegin (GL_QUADS); glColor3f (0.3f, 0.3f, 0.3f); glVertex3f (-1.0f, -1.0f, -1.0f); @@ -2097,6 +2099,7 @@ void OpenGL3DRenderer::ClearBuffer() glVertex3f (1.0f, 1.0f, -1.0f); glVertex3f (-1.0f, 1.0f, -1.0f); glEnd (); + */ glEnable(GL_DEPTH_TEST); } commit 14271ef8a4e3da11fbe804c8f846750a94e81d0f Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Fri Aug 15 09:27:48 2014 +0200 GL_LIGHTING is deprecated Change-Id: I6280af7182f4afefe39ef676024caa9c21f089ff diff --git a/chart2/source/view/main/GL3DRenderer.cxx b/chart2/source/view/main/GL3DRenderer.cxx index 3f1dda8..b9e8063 100644 --- a/chart2/source/view/main/GL3DRenderer.cxx +++ b/chart2/source/view/main/GL3DRenderer.cxx @@ -2084,7 +2084,6 @@ void OpenGL3DRenderer::CreateSceneBoxView() void OpenGL3DRenderer::ClearBuffer() { glDisable(GL_DEPTH_TEST); - glDisable(GL_LIGHTING); glClearDepth(1.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); @@ -2099,7 +2098,6 @@ void OpenGL3DRenderer::ClearBuffer() glVertex3f (-1.0f, 1.0f, -1.0f); glEnd (); - glEnable(GL_LIGHTING); glEnable(GL_DEPTH_TEST); } commit e07577658478c61491992be006b71a9fa6d44542 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Fri Aug 15 09:26:36 2014 +0200 GL_TEXTURE_WRAP_* is deprecated Change-Id: I2604a6d647c912a91da156072b9821b2abe52b48 diff --git a/chart2/source/view/main/GL3DRenderer.cxx b/chart2/source/view/main/GL3DRenderer.cxx index bdeaee9..3f1dda8 100644 --- a/chart2/source/view/main/GL3DRenderer.cxx +++ b/chart2/source/view/main/GL3DRenderer.cxx @@ -1745,10 +1745,6 @@ void OpenGL3DRenderer::CreateTextTextureSingle(const boost::shared_array<sal_uIn CHECK_GL_ERROR(); glBindTexture(GL_TEXTURE_2D, aTextInfo.texture); CHECK_GL_ERROR(); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); - CHECK_GL_ERROR(); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); - CHECK_GL_ERROR(); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); CHECK_GL_ERROR(); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); commit c52bc929bd4f7acb30bd0a23d2610c76a0744342 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Fri Aug 15 09:25:22 2014 +0200 GL_POINT_SMOOTH is deprecated Change-Id: Id81a238ed71c8c2f9297e14f6f37d148f29cfbca diff --git a/chart2/source/view/main/GL3DRenderer.cxx b/chart2/source/view/main/GL3DRenderer.cxx index 823427c..bdeaee9 100644 --- a/chart2/source/view/main/GL3DRenderer.cxx +++ b/chart2/source/view/main/GL3DRenderer.cxx @@ -361,9 +361,7 @@ void OpenGL3DRenderer::init() glEnable(GL_DEPTH_TEST); // Accept fragment if it closer to the camera than the former one glDepthFunc(GL_LESS); - glEnable(GL_POINT_SMOOTH); glEnable(GL_LINE_SMOOTH); - glHint(GL_POINT_SMOOTH_HINT, GL_NICEST); glHint(GL_LINE_SMOOTH_HINT, GL_NICEST); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); commit 67c7c64c807d969cd627323e904ddd0287d4f2d4 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Fri Aug 15 09:24:03 2014 +0200 glEnable(GL_TEXTURE_2D) is deprecated Change-Id: Ic4ee5414fbbea3d73655b52e66cb397220e61566 diff --git a/chart2/source/view/main/GL3DRenderer.cxx b/chart2/source/view/main/GL3DRenderer.cxx index 7e82334..823427c 100644 --- a/chart2/source/view/main/GL3DRenderer.cxx +++ b/chart2/source/view/main/GL3DRenderer.cxx @@ -354,7 +354,6 @@ void OpenGL3DRenderer::SetCameraInfo(const glm::vec3& pos, const glm::vec3& dire void OpenGL3DRenderer::init() { - glEnable(GL_TEXTURE_2D); glEnable(GL_CULL_FACE); glCullFace(GL_BACK); glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); commit 2420b6750cd1b19970eabc060930baf99493717a Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Fri Aug 15 06:39:38 2014 +0200 fix my last core shader error Now all shaders compile cleanly against a core context without deprecated functions. Change-Id: I53c1fe04e07247f94ad5e3a17819cebea0a9f535 diff --git a/chart2/opengl/pickingFragmentShader.glsl b/chart2/opengl/pickingFragmentShader.glsl index d9e06a6..6262216 100644 --- a/chart2/opengl/pickingFragmentShader.glsl +++ b/chart2/opengl/pickingFragmentShader.glsl @@ -12,12 +12,13 @@ uniform float minCoordX; in vec3 positionWorldspace; in vec4 fragmentColor; +out vec4 actualColor; void main() { if (positionWorldspace.x <= minCoordX) discard; - gl_FragColor = fragmentColor; + actualColor = fragmentColor; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit 77a9339fc04ab70f0005ca5cbda6fb209035041c Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Fri Aug 15 06:37:37 2014 +0200 texture*D in GLSL is deprecated and not available in core contexts Change-Id: Ia5da0899d73aea22fe7bae735e57e30dcd37b254 diff --git a/chart2/opengl/commonFragmentShader.glsl b/chart2/opengl/commonFragmentShader.glsl index d602b21..bb2482b 100644 --- a/chart2/opengl/commonFragmentShader.glsl +++ b/chart2/opengl/commonFragmentShader.glsl @@ -10,10 +10,11 @@ #version 150 core in vec4 fragmentColor; +out vec4 actualColor; void main() { - gl_FragColor = fragmentColor; + actualColor = fragmentColor; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/chart2/opengl/screenTextFragmentShader.glsl b/chart2/opengl/screenTextFragmentShader.glsl index 7c90ec0..f76abee 100644 --- a/chart2/opengl/screenTextFragmentShader.glsl +++ b/chart2/opengl/screenTextFragmentShader.glsl @@ -12,10 +12,12 @@ in vec2 vTexCoord; uniform sampler2D TextTex; uniform vec4 textColor; +out vec4 actualColor; + void main() { - vec3 color = texture2D(TextTex, vTexCoord).rgb; - gl_FragColor = vec4(textColor.rgb, 1.0 - color.r); + vec3 color = texture(TextTex, vTexCoord).rgb; + actualColor = vec4(textColor.rgb, 1.0 - color.r); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/chart2/opengl/textFragmentShader.glsl b/chart2/opengl/textFragmentShader.glsl index 1c3af26..16be8c6 100644 --- a/chart2/opengl/textFragmentShader.glsl +++ b/chart2/opengl/textFragmentShader.glsl @@ -11,10 +11,13 @@ uniform sampler2D TextTex; in vec2 vTexCoord; +out vec4 actualColor; + + void main() { - vec3 color = texture2D(TextTex, vTexCoord).rgb; - gl_FragColor = vec4(color, 1.0 - color.r); + vec3 color = texture(TextTex, vTexCoord).rgb; + actualColor = vec4(color, 1.0 - color.r); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/chart2/opengl/textFragmentShaderBatch.glsl b/chart2/opengl/textFragmentShaderBatch.glsl index 431fa4c..c97812b 100644 --- a/chart2/opengl/textFragmentShaderBatch.glsl +++ b/chart2/opengl/textFragmentShaderBatch.glsl @@ -17,7 +17,7 @@ in vec3 vTexCoord; out vec4 actualColor; void main() { - vec3 color = texture2DArray(texArray, vTexCoord.xyz).rgb; + vec3 color = texture(texArray, vTexCoord.xyz).rgb; actualColor = vec4(color, 1.0 - color.r); } commit 5361f66b06cc9732ee4018be37db9c813e110c2b Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Fri Aug 15 06:26:02 2014 +0200 replace all attribute and varying in chart shaders Next step to a pure OpenGL 3.2 core context. Change-Id: Ifcfccd9ffc8adcc3b7338e10cb25aeb8496909a3 diff --git a/chart2/opengl/backgroundFragmentShader.glsl b/chart2/opengl/backgroundFragmentShader.glsl index 646dd4f..eb3adaa 100644 --- a/chart2/opengl/backgroundFragmentShader.glsl +++ b/chart2/opengl/backgroundFragmentShader.glsl @@ -9,7 +9,7 @@ #version 150 core core -varying vec4 fragmentColor; +in vec4 fragmentColor; void main() { diff --git a/chart2/opengl/backgroundVertexShader.glsl b/chart2/opengl/backgroundVertexShader.glsl index 3f2ae8e..bf7937c 100644 --- a/chart2/opengl/backgroundVertexShader.glsl +++ b/chart2/opengl/backgroundVertexShader.glsl @@ -9,10 +9,10 @@ #version 150 core -attribute vec3 vPosition; +in vec3 vPosition; uniform mat4 MVP; -attribute vec4 vColor; -varying vec4 fragmentColor; +in vec4 vColor; +out vec4 fragmentColor; void main() { diff --git a/chart2/opengl/commonFragmentShader.glsl b/chart2/opengl/commonFragmentShader.glsl index 2f573ad..d602b21 100644 --- a/chart2/opengl/commonFragmentShader.glsl +++ b/chart2/opengl/commonFragmentShader.glsl @@ -9,7 +9,7 @@ #version 150 core -varying vec4 fragmentColor; +in vec4 fragmentColor; void main() { diff --git a/chart2/opengl/commonVertexShader.glsl b/chart2/opengl/commonVertexShader.glsl index f48b4d0..145d4db 100644 --- a/chart2/opengl/commonVertexShader.glsl +++ b/chart2/opengl/commonVertexShader.glsl @@ -9,10 +9,10 @@ #version 150 core -attribute vec3 vPosition; +in vec3 vPosition; uniform mat4 MVP; uniform vec4 vColor; -varying vec4 fragmentColor; +out vec4 fragmentColor; void main() { diff --git a/chart2/opengl/debugFragmentShader.glsl b/chart2/opengl/debugFragmentShader.glsl index d9255eb..92b005e 100644 --- a/chart2/opengl/debugFragmentShader.glsl +++ b/chart2/opengl/debugFragmentShader.glsl @@ -9,7 +9,7 @@ #version 150 core -varying vec4 fragmentColor; +in vec4 fragmentColor; void main() { diff --git a/chart2/opengl/debugVertexShader.glsl b/chart2/opengl/debugVertexShader.glsl index 1768cc8..a542da8 100644 --- a/chart2/opengl/debugVertexShader.glsl +++ b/chart2/opengl/debugVertexShader.glsl @@ -9,9 +9,9 @@ #version 150 core -attribute vec3 vPosition; +in vec3 vPosition; uniform vec4 vColor; -varying vec4 fragmentColor; +out vec4 fragmentColor; void main() { diff --git a/chart2/opengl/pickingFragmentShader.glsl b/chart2/opengl/pickingFragmentShader.glsl index 749fefc..d9e06a6 100644 --- a/chart2/opengl/pickingFragmentShader.glsl +++ b/chart2/opengl/pickingFragmentShader.glsl @@ -10,8 +10,8 @@ #version 150 core uniform float minCoordX; -varying vec3 positionWorldspace; -varying vec4 fragmentColor; +in vec3 positionWorldspace; +in vec4 fragmentColor; void main() { diff --git a/chart2/opengl/pickingVertexShader.glsl b/chart2/opengl/pickingVertexShader.glsl index c009691..9dc5a14 100644 --- a/chart2/opengl/pickingVertexShader.glsl +++ b/chart2/opengl/pickingVertexShader.glsl @@ -9,14 +9,14 @@ #version 150 core -attribute vec3 vPosition; +in vec3 vPosition; uniform mat4 MVP; uniform mat4 M; uniform vec4 vColor; uniform float minCoordX; uniform float maxCoordX; -varying vec4 fragmentColor; -varying vec3 positionWorldspace; +out vec4 fragmentColor; +out vec3 positionWorldspace; void main() { positionWorldspace = (M * vec4(vPosition,1)).xyz; diff --git a/chart2/opengl/renderTextureFragmentShader.glsl b/chart2/opengl/renderTextureFragmentShader.glsl index c037456..52dfde8 100644 --- a/chart2/opengl/renderTextureFragmentShader.glsl +++ b/chart2/opengl/renderTextureFragmentShader.glsl @@ -10,11 +10,12 @@ #version 150 core uniform sampler2D RenderTex; -varying vec2 vTexCoord; +in vec2 vTexCoord; +out vec4 actualColor; void main() { - gl_FragColor = vec4(texture2D(RenderTex, vTexCoord).rgb, 1.0); + actualColor = vec4(texture(RenderTex, vTexCoord).rgb, 1.0); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/chart2/opengl/renderTextureVertexShader.glsl b/chart2/opengl/renderTextureVertexShader.glsl index 80560cf..b9307fb 100644 --- a/chart2/opengl/renderTextureVertexShader.glsl +++ b/chart2/opengl/renderTextureVertexShader.glsl @@ -9,9 +9,9 @@ #version 150 core -attribute vec4 vPosition; -attribute vec2 texCoord; -varying vec2 vTexCoord; +in vec4 vPosition; +in vec2 texCoord; +out vec2 vTexCoord; void main() { gl_Position = vPosition; diff --git a/chart2/opengl/screenTextFragmentShader.glsl b/chart2/opengl/screenTextFragmentShader.glsl index b5b69c9..7c90ec0 100644 --- a/chart2/opengl/screenTextFragmentShader.glsl +++ b/chart2/opengl/screenTextFragmentShader.glsl @@ -9,7 +9,7 @@ #version 150 core -varying vec2 vTexCoord; +in vec2 vTexCoord; uniform sampler2D TextTex; uniform vec4 textColor; void main() diff --git a/chart2/opengl/screenTextVertexShader.glsl b/chart2/opengl/screenTextVertexShader.glsl index ab3fb92..b0ab221 100644 --- a/chart2/opengl/screenTextVertexShader.glsl +++ b/chart2/opengl/screenTextVertexShader.glsl @@ -9,9 +9,9 @@ #version 150 core -attribute vec3 vPosition; -attribute vec2 texCoord; -varying vec2 vTexCoord; +in vec3 vPosition; +in vec2 texCoord; +out vec2 vTexCoord; void main() { gl_Position = vec4(vPosition, 1); diff --git a/chart2/opengl/shape3DFragmentShaderV300.glsl b/chart2/opengl/shape3DFragmentShaderV300.glsl index c9d4522..9a8ddea 100644 --- a/chart2/opengl/shape3DFragmentShaderV300.glsl +++ b/chart2/opengl/shape3DFragmentShaderV300.glsl @@ -11,8 +11,8 @@ #define MAX_LIGHT_NUM 8 -varying vec3 positionWorldspace; -varying vec3 normalCameraspace; +in vec3 positionWorldspace; +in vec3 normalCameraspace; uniform mat4 V; uniform vec4 materialAmbient; diff --git a/chart2/opengl/shape3DVertexShaderV300.glsl b/chart2/opengl/shape3DVertexShaderV300.glsl index 947ee5f..c5072fd 100644 --- a/chart2/opengl/shape3DVertexShaderV300.glsl +++ b/chart2/opengl/shape3DVertexShaderV300.glsl @@ -9,11 +9,11 @@ #version 150 core -attribute vec3 vertexPositionModelspace; -attribute vec3 vertexNormalModelspace; +in vec3 vertexPositionModelspace; +in vec3 vertexNormalModelspace; -varying vec3 positionWorldspace; -varying vec3 normalCameraspace; +out vec3 positionWorldspace; +out vec3 normalCameraspace; uniform mat4 P; uniform mat4 M; diff --git a/chart2/opengl/symbolFragmentShader.glsl b/chart2/opengl/symbolFragmentShader.glsl index 4b0b464..35cc910 100644 --- a/chart2/opengl/symbolFragmentShader.glsl +++ b/chart2/opengl/symbolFragmentShader.glsl @@ -9,7 +9,7 @@ #version 150 core -varying vec4 fragmentColor; +in vec4 fragmentColor; uniform int shape; void main() diff --git a/chart2/opengl/symbolVertexShader.glsl b/chart2/opengl/symbolVertexShader.glsl index 7e3a748..c5603b5 100644 --- a/chart2/opengl/symbolVertexShader.glsl +++ b/chart2/opengl/symbolVertexShader.glsl @@ -9,10 +9,10 @@ #version 150 core -attribute vec3 vPosition; +in vec3 vPosition; uniform mat4 MVP; uniform vec4 vColor; -varying vec4 fragmentColor; +out vec4 fragmentColor; void main() { diff --git a/chart2/opengl/textFragmentShader.glsl b/chart2/opengl/textFragmentShader.glsl index 4f582a4..1c3af26 100644 --- a/chart2/opengl/textFragmentShader.glsl +++ b/chart2/opengl/textFragmentShader.glsl @@ -10,7 +10,7 @@ #version 150 core uniform sampler2D TextTex; -varying vec2 vTexCoord; +in vec2 vTexCoord; void main() { vec3 color = texture2D(TextTex, vTexCoord).rgb; diff --git a/chart2/opengl/textVertexShader.glsl b/chart2/opengl/textVertexShader.glsl index 3f14ab9..351da30 100644 --- a/chart2/opengl/textVertexShader.glsl +++ b/chart2/opengl/textVertexShader.glsl @@ -9,10 +9,10 @@ #version 150 core -attribute vec3 vPosition; +in vec3 vPosition; uniform mat4 MVP; -attribute vec2 texCoord; -varying vec2 vTexCoord; +in vec2 texCoord; +out vec2 vTexCoord; void main() { gl_Position = MVP * vec4(vPosition, 1); commit b1132b02ea6f384f99ba1236352ba235b81fd94c Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Fri Aug 15 06:14:51 2014 +0200 we need to switch to OpenGL 3.2 core for OSX A 3.2 core context only supports GLSL 150 core and above. This at least removes all vompile errors related to missing or wrong version requirements. In a next step we need to make use of modern GLSL features now. Change-Id: I59f1bc84ab4f64cc6520309b7da25adc3e116997 diff --git a/chart2/opengl/backgroundFragmentShader.glsl b/chart2/opengl/backgroundFragmentShader.glsl index 424ae31..646dd4f 100644 --- a/chart2/opengl/backgroundFragmentShader.glsl +++ b/chart2/opengl/backgroundFragmentShader.glsl @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#version 130 +#version 150 core core varying vec4 fragmentColor; diff --git a/chart2/opengl/backgroundVertexShader.glsl b/chart2/opengl/backgroundVertexShader.glsl index 239675c..3f2ae8e 100644 --- a/chart2/opengl/backgroundVertexShader.glsl +++ b/chart2/opengl/backgroundVertexShader.glsl @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#version 130 +#version 150 core attribute vec3 vPosition; uniform mat4 MVP; diff --git a/chart2/opengl/commonFragmentShader.glsl b/chart2/opengl/commonFragmentShader.glsl index 424ae31..2f573ad 100644 --- a/chart2/opengl/commonFragmentShader.glsl +++ b/chart2/opengl/commonFragmentShader.glsl @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#version 130 +#version 150 core varying vec4 fragmentColor; diff --git a/chart2/opengl/commonVertexShader.glsl b/chart2/opengl/commonVertexShader.glsl index efbb8f1..f48b4d0 100644 --- a/chart2/opengl/commonVertexShader.glsl +++ b/chart2/opengl/commonVertexShader.glsl @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#version 130 +#version 150 core attribute vec3 vPosition; uniform mat4 MVP; diff --git a/chart2/opengl/debugFragmentShader.glsl b/chart2/opengl/debugFragmentShader.glsl index 3366b15..d9255eb 100644 --- a/chart2/opengl/debugFragmentShader.glsl +++ b/chart2/opengl/debugFragmentShader.glsl @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#version 130 +#version 150 core varying vec4 fragmentColor; diff --git a/chart2/opengl/debugVertexShader.glsl b/chart2/opengl/debugVertexShader.glsl index 622727f..1768cc8 100644 --- a/chart2/opengl/debugVertexShader.glsl +++ b/chart2/opengl/debugVertexShader.glsl @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#version 130 +#version 150 core attribute vec3 vPosition; uniform vec4 vColor; diff --git a/chart2/opengl/pickingFragmentShader.glsl b/chart2/opengl/pickingFragmentShader.glsl index 9d3b7bb..749fefc 100644 --- a/chart2/opengl/pickingFragmentShader.glsl +++ b/chart2/opengl/pickingFragmentShader.glsl @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#version 130 +#version 150 core uniform float minCoordX; varying vec3 positionWorldspace; diff --git a/chart2/opengl/pickingVertexShader.glsl b/chart2/opengl/pickingVertexShader.glsl index d751a75..c009691 100644 --- a/chart2/opengl/pickingVertexShader.glsl +++ b/chart2/opengl/pickingVertexShader.glsl @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#version 130 +#version 150 core attribute vec3 vPosition; uniform mat4 MVP; diff --git a/chart2/opengl/renderTextureFragmentShader.glsl b/chart2/opengl/renderTextureFragmentShader.glsl index 8029d08..c037456 100644 --- a/chart2/opengl/renderTextureFragmentShader.glsl +++ b/chart2/opengl/renderTextureFragmentShader.glsl @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#version 130 +#version 150 core uniform sampler2D RenderTex; varying vec2 vTexCoord; diff --git a/chart2/opengl/renderTextureVertexShader.glsl b/chart2/opengl/renderTextureVertexShader.glsl index 43ab1b0..80560cf 100644 --- a/chart2/opengl/renderTextureVertexShader.glsl +++ b/chart2/opengl/renderTextureVertexShader.glsl @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#version 130 +#version 150 core attribute vec4 vPosition; attribute vec2 texCoord; diff --git a/chart2/opengl/screenTextFragmentShader.glsl b/chart2/opengl/screenTextFragmentShader.glsl index e1fb078..b5b69c9 100644 --- a/chart2/opengl/screenTextFragmentShader.glsl +++ b/chart2/opengl/screenTextFragmentShader.glsl @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#version 130 +#version 150 core varying vec2 vTexCoord; uniform sampler2D TextTex; diff --git a/chart2/opengl/screenTextVertexShader.glsl b/chart2/opengl/screenTextVertexShader.glsl index 5428875..ab3fb92 100644 --- a/chart2/opengl/screenTextVertexShader.glsl +++ b/chart2/opengl/screenTextVertexShader.glsl @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#version 130 +#version 150 core attribute vec3 vPosition; attribute vec2 texCoord; diff --git a/chart2/opengl/shape3DFragmentShaderV300.glsl b/chart2/opengl/shape3DFragmentShaderV300.glsl index c6888db..c9d4522 100644 --- a/chart2/opengl/shape3DFragmentShaderV300.glsl +++ b/chart2/opengl/shape3DFragmentShaderV300.glsl @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#version 130 +#version 150 core #define MAX_LIGHT_NUM 8 diff --git a/chart2/opengl/shape3DVertexShaderV300.glsl b/chart2/opengl/shape3DVertexShaderV300.glsl index b28d9cc..947ee5f 100644 --- a/chart2/opengl/shape3DVertexShaderV300.glsl +++ b/chart2/opengl/shape3DVertexShaderV300.glsl @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#version 130 +#version 150 core attribute vec3 vertexPositionModelspace; attribute vec3 vertexNormalModelspace; diff --git a/chart2/opengl/symbolFragmentShader.glsl b/chart2/opengl/symbolFragmentShader.glsl index bb3e4da..4b0b464 100644 --- a/chart2/opengl/symbolFragmentShader.glsl +++ b/chart2/opengl/symbolFragmentShader.glsl @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#version 130 +#version 150 core varying vec4 fragmentColor; uniform int shape; diff --git a/chart2/opengl/symbolVertexShader.glsl b/chart2/opengl/symbolVertexShader.glsl index 0c6617e..7e3a748 100644 --- a/chart2/opengl/symbolVertexShader.glsl +++ b/chart2/opengl/symbolVertexShader.glsl @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#version 130 +#version 150 core attribute vec3 vPosition; uniform mat4 MVP; diff --git a/chart2/opengl/textFragmentShader.glsl b/chart2/opengl/textFragmentShader.glsl index 80ae00a..4f582a4 100644 --- a/chart2/opengl/textFragmentShader.glsl +++ b/chart2/opengl/textFragmentShader.glsl @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#version 130 +#version 150 core uniform sampler2D TextTex; varying vec2 vTexCoord; diff --git a/chart2/opengl/textVertexShader.glsl b/chart2/opengl/textVertexShader.glsl index c76223b..3f14ab9 100644 --- a/chart2/opengl/textVertexShader.glsl +++ b/chart2/opengl/textVertexShader.glsl @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#version 130 +#version 150 core attribute vec3 vPosition; uniform mat4 MVP; commit f621c3f25348aeb327d50bde76ca3e3fbfaeccf9 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Fri Aug 15 05:59:28 2014 +0200 make sure that all shaders contain a version string This is necessary for OSX where we are using a core context that does not implement any legacy features anymore. Change-Id: I59536e99761691d910fef62cf82ceb03e57725ae diff --git a/chart2/opengl/backgroundFragmentShader.glsl b/chart2/opengl/backgroundFragmentShader.glsl index 805789e..424ae31 100644 --- a/chart2/opengl/backgroundFragmentShader.glsl +++ b/chart2/opengl/backgroundFragmentShader.glsl @@ -7,6 +7,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#version 130 + varying vec4 fragmentColor; void main() diff --git a/chart2/opengl/backgroundVertexShader.glsl b/chart2/opengl/backgroundVertexShader.glsl index 6d9d6c2..239675c 100644 --- a/chart2/opengl/backgroundVertexShader.glsl +++ b/chart2/opengl/backgroundVertexShader.glsl @@ -7,6 +7,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#version 130 + attribute vec3 vPosition; uniform mat4 MVP; attribute vec4 vColor; diff --git a/chart2/opengl/commonFragmentShader.glsl b/chart2/opengl/commonFragmentShader.glsl index 805789e..424ae31 100644 --- a/chart2/opengl/commonFragmentShader.glsl +++ b/chart2/opengl/commonFragmentShader.glsl @@ -7,6 +7,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#version 130 + varying vec4 fragmentColor; void main() diff --git a/chart2/opengl/commonVertexShader.glsl b/chart2/opengl/commonVertexShader.glsl index f32e3fd..efbb8f1 100644 --- a/chart2/opengl/commonVertexShader.glsl +++ b/chart2/opengl/commonVertexShader.glsl @@ -7,6 +7,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#version 130 + attribute vec3 vPosition; uniform mat4 MVP; uniform vec4 vColor; diff --git a/chart2/opengl/debugFragmentShader.glsl b/chart2/opengl/debugFragmentShader.glsl index d36c4f4..3366b15 100644 --- a/chart2/opengl/debugFragmentShader.glsl +++ b/chart2/opengl/debugFragmentShader.glsl @@ -7,6 +7,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#version 130 + varying vec4 fragmentColor; void main() diff --git a/chart2/opengl/debugVertexShader.glsl b/chart2/opengl/debugVertexShader.glsl index 762de31..622727f 100644 --- a/chart2/opengl/debugVertexShader.glsl +++ b/chart2/opengl/debugVertexShader.glsl @@ -7,6 +7,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#version 130 + attribute vec3 vPosition; uniform vec4 vColor; varying vec4 fragmentColor; diff --git a/chart2/opengl/pickingFragmentShader.glsl b/chart2/opengl/pickingFragmentShader.glsl index e2fba03..9d3b7bb 100644 --- a/chart2/opengl/pickingFragmentShader.glsl +++ b/chart2/opengl/pickingFragmentShader.glsl @@ -6,6 +6,9 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#version 130 + uniform float minCoordX; varying vec3 positionWorldspace; varying vec4 fragmentColor; diff --git a/chart2/opengl/pickingVertexShader.glsl b/chart2/opengl/pickingVertexShader.glsl index df71ae1..d751a75 100644 --- a/chart2/opengl/pickingVertexShader.glsl +++ b/chart2/opengl/pickingVertexShader.glsl @@ -7,6 +7,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#version 130 + attribute vec3 vPosition; uniform mat4 MVP; uniform mat4 M; diff --git a/chart2/opengl/renderTextureFragmentShader.glsl b/chart2/opengl/renderTextureFragmentShader.glsl index a6c71f4..8029d08 100644 --- a/chart2/opengl/renderTextureFragmentShader.glsl +++ b/chart2/opengl/renderTextureFragmentShader.glsl @@ -7,6 +7,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#version 130 + uniform sampler2D RenderTex; varying vec2 vTexCoord; diff --git a/chart2/opengl/renderTextureVertexShader.glsl b/chart2/opengl/renderTextureVertexShader.glsl index dd11b15..43ab1b0 100644 --- a/chart2/opengl/renderTextureVertexShader.glsl +++ b/chart2/opengl/renderTextureVertexShader.glsl @@ -7,6 +7,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#version 130 + attribute vec4 vPosition; attribute vec2 texCoord; varying vec2 vTexCoord; diff --git a/chart2/opengl/screenTextFragmentShader.glsl b/chart2/opengl/screenTextFragmentShader.glsl index 1354bf1..e1fb078 100644 --- a/chart2/opengl/screenTextFragmentShader.glsl +++ b/chart2/opengl/screenTextFragmentShader.glsl @@ -7,6 +7,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#version 130 + varying vec2 vTexCoord; uniform sampler2D TextTex; uniform vec4 textColor; diff --git a/chart2/opengl/screenTextVertexShader.glsl b/chart2/opengl/screenTextVertexShader.glsl index 8d046f5..5428875 100644 --- a/chart2/opengl/screenTextVertexShader.glsl +++ b/chart2/opengl/screenTextVertexShader.glsl @@ -7,6 +7,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#version 130 + attribute vec3 vPosition; attribute vec2 texCoord; varying vec2 vTexCoord; diff --git a/chart2/opengl/shape3DFragmentShader.glsl b/chart2/opengl/shape3DFragmentShader.glsl index 5cb521a..5c1614c 100644 --- a/chart2/opengl/shape3DFragmentShader.glsl +++ b/chart2/opengl/shape3DFragmentShader.glsl @@ -6,6 +6,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + #version 330 core #define MAX_LIGHT_NUM 8 diff --git a/chart2/opengl/shape3DFragmentShaderBatch.glsl b/chart2/opengl/shape3DFragmentShaderBatch.glsl index be24dbf..e2a0961 100644 --- a/chart2/opengl/shape3DFragmentShaderBatch.glsl +++ b/chart2/opengl/shape3DFragmentShaderBatch.glsl @@ -6,6 +6,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + #version 330 core #define MAX_LIGHT_NUM 8 diff --git a/chart2/opengl/shape3DFragmentShaderBatchScroll.glsl b/chart2/opengl/shape3DFragmentShaderBatchScroll.glsl index 33e970f..a4686a3 100644 --- a/chart2/opengl/shape3DFragmentShaderBatchScroll.glsl +++ b/chart2/opengl/shape3DFragmentShaderBatchScroll.glsl @@ -6,6 +6,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + #version 330 core #define MAX_LIGHT_NUM 8 diff --git a/chart2/opengl/shape3DFragmentShaderV300.glsl b/chart2/opengl/shape3DFragmentShaderV300.glsl index 05e2770..c6888db 100644 --- a/chart2/opengl/shape3DFragmentShaderV300.glsl +++ b/chart2/opengl/shape3DFragmentShaderV300.glsl @@ -6,6 +6,9 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#version 130 + #define MAX_LIGHT_NUM 8 varying vec3 positionWorldspace; diff --git a/chart2/opengl/shape3DVertexShader.glsl b/chart2/opengl/shape3DVertexShader.glsl index 7f8a6f0..9b763c9 100644 --- a/chart2/opengl/shape3DVertexShader.glsl +++ b/chart2/opengl/shape3DVertexShader.glsl @@ -6,7 +6,9 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + #version 330 core + in vec3 vertexPositionModelspace; in vec3 vertexNormalModelspace; diff --git a/chart2/opengl/shape3DVertexShaderBatch.glsl b/chart2/opengl/shape3DVertexShaderBatch.glsl index e0a1d30..46a91a2 100644 --- a/chart2/opengl/shape3DVertexShaderBatch.glsl +++ b/chart2/opengl/shape3DVertexShaderBatch.glsl @@ -6,7 +6,9 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + #version 330 core + in vec3 vertexPositionModelspace; in vec3 vertexNormalModelspace; in mat4 M; diff --git a/chart2/opengl/shape3DVertexShaderBatchScroll.glsl b/chart2/opengl/shape3DVertexShaderBatchScroll.glsl index 87946f7..2caff6e 100644 --- a/chart2/opengl/shape3DVertexShaderBatchScroll.glsl +++ b/chart2/opengl/shape3DVertexShaderBatchScroll.glsl @@ -6,7 +6,9 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + #version 330 core + in vec3 vertexPositionModelspace; in vec3 vertexNormalModelspace; in mat4 M; diff --git a/chart2/opengl/shape3DVertexShaderV300.glsl b/chart2/opengl/shape3DVertexShaderV300.glsl index a8da294..b28d9cc 100644 --- a/chart2/opengl/shape3DVertexShaderV300.glsl +++ b/chart2/opengl/shape3DVertexShaderV300.glsl @@ -6,6 +6,9 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#version 130 + attribute vec3 vertexPositionModelspace; attribute vec3 vertexNormalModelspace; diff --git a/chart2/opengl/symbolFragmentShader.glsl b/chart2/opengl/symbolFragmentShader.glsl index 3ac6b03..bb3e4da 100644 --- a/chart2/opengl/symbolFragmentShader.glsl +++ b/chart2/opengl/symbolFragmentShader.glsl @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#version 120 +#version 130 varying vec4 fragmentColor; uniform int shape; diff --git a/chart2/opengl/symbolVertexShader.glsl b/chart2/opengl/symbolVertexShader.glsl index 3cf9f41..0c6617e 100644 --- a/chart2/opengl/symbolVertexShader.glsl +++ b/chart2/opengl/symbolVertexShader.glsl @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#version 120 +#version 130 attribute vec3 vPosition; uniform mat4 MVP; diff --git a/chart2/opengl/textFragmentShader.glsl b/chart2/opengl/textFragmentShader.glsl index c1d44bc..80ae00a 100644 --- a/chart2/opengl/textFragmentShader.glsl +++ b/chart2/opengl/textFragmentShader.glsl @@ -7,6 +7,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#version 130 + uniform sampler2D TextTex; varying vec2 vTexCoord; void main() diff --git a/chart2/opengl/textFragmentShaderBatch.glsl b/chart2/opengl/textFragmentShaderBatch.glsl index 7008883..431fa4c 100644 --- a/chart2/opengl/textFragmentShaderBatch.glsl +++ b/chart2/opengl/textFragmentShaderBatch.glsl @@ -8,6 +8,7 @@ */ #version 330 core + #extension GL_EXT_texture_array : enable uniform sampler2DArray texArray; diff --git a/chart2/opengl/textVertexShader.glsl b/chart2/opengl/textVertexShader.glsl index a805229..c76223b 100644 --- a/chart2/opengl/textVertexShader.glsl +++ b/chart2/opengl/textVertexShader.glsl @@ -7,6 +7,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#version 130 + attribute vec3 vPosition; uniform mat4 MVP; attribute vec2 texCoord; diff --git a/chart2/opengl/textVertexShaderBatch.glsl b/chart2/opengl/textVertexShaderBatch.glsl index e61beb6..d5ae496 100644 --- a/chart2/opengl/textVertexShaderBatch.glsl +++ b/chart2/opengl/textVertexShaderBatch.glsl @@ -8,6 +8,7 @@ */ #version 330 core + in vec3 vPosition; in vec3 texCoord; commit 0771823d80abadf8e7f2ccc078f3f9e2c277f8a5 Author: Markus Mohrhard <markus.mohrh...@collabora.co.uk> Date: Sat Aug 16 00:52:41 2014 +0200 fix build Change-Id: If2f35d4ce68f604db1789e1535c341908628838d diff --git a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx index 1b516ca..53ea3c9 100644 --- a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx +++ b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx @@ -54,6 +54,7 @@ #include "helpids.hrc" #include "resourcemanager.hxx" +#include <vcl/msgbox.hxx> #include <vcl/layout.hxx> #include <unotools/configitem.hxx> commit d6cae8aa53c93da74650bfdf52fe47946ee870e4 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Sat Aug 16 00:52:56 2014 +0200 fix build again Change-Id: If3cfc7d1974036fe6110726da574b07975ab9aef diff --git a/dbaccess/source/ui/querydesign/QueryDesignView.cxx b/dbaccess/source/ui/querydesign/QueryDesignView.cxx index e33f646..1049b5d 100644 --- a/dbaccess/source/ui/querydesign/QueryDesignView.cxx +++ b/dbaccess/source/ui/querydesign/QueryDesignView.cxx @@ -30,6 +30,7 @@ #include <vcl/svapp.hxx> #include <vcl/combobox.hxx> #include <vcl/msgbox.hxx> +#include <vcl/layout.hxx> #include "browserids.hxx" #include "SelectionBrowseBox.hxx" #include "dbu_qry.hrc" commit 549fd2d229c0f7b6538a73c902f2fa5cf06d180b Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Sat Aug 16 00:39:23 2014 +0200 fix build Change-Id: I770b941c065ca41541f27d01f78727d9d0e32a7e diff --git a/cui/source/options/optjava.cxx b/cui/source/options/optjava.cxx index 92bc52a..77f9e69 100644 --- a/cui/source/options/optjava.cxx +++ b/cui/source/options/optjava.cxx @@ -32,6 +32,7 @@ #include <vcl/help.hxx> #include <tools/urlobj.hxx> #include <vcl/layout.hxx> +#include <vcl/msgbox.hxx> #include <vcl/waitobj.hxx> #include <unotools/pathoptions.hxx> #include <svtools/imagemgr.hxx> commit b8cf71937ff604e50b709246383942b6d90b35e6 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Sat Aug 16 00:30:57 2014 +0200 Revert "ErrorBox EBX_ERR_PRINTDISABLED to String" This reverts commit 90aecb31139a6743fd00c87585a82406e7d9f075. diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx index cd5d860..8eed982 100644 --- a/desktop/source/app/app.cxx +++ b/desktop/source/app/app.cxx @@ -92,7 +92,7 @@ #include <svtools/menuoptions.hxx> #include <rtl/bootstrap.hxx> #include <vcl/help.hxx> -#include <vcl/layout.hxx> +#include <vcl/msgbox.hxx> #include <vcl/settings.hxx> #include <sfx2/sfx.hrc> #include <sfx2/app.hxx> @@ -2434,7 +2434,7 @@ void Desktop::OpenClients() ResMgr* pDtResMgr = GetDesktopResManager(); if( pDtResMgr ) { - MessageDialog aBox( NULL, ResId( STR_ERR_PRINTDISABLED, *pDtResMgr ) ); + ErrorBox aBox( NULL, ResId( EBX_ERR_PRINTDISABLED, *pDtResMgr ) ); aBox.Execute(); } } diff --git a/desktop/source/app/desktop.hrc b/desktop/source/app/desktop.hrc index 8a7affc..e9caf4a 100644 --- a/desktop/source/app/desktop.hrc +++ b/desktop/source/app/desktop.hrc @@ -28,6 +28,8 @@ #define QBX_USERDATALOCKED (RID_DESKTOP_DIALOG_START+100) +#define EBX_ERR_PRINTDISABLED (RID_DESKTOP_DIALOG_START+190) + #define STR_RECOVER_QUERY (RID_DESKTOP_STRING_START+0) #define STR_RECOVER_TITLE (RID_DESKTOP_STRING_START+1) #define STR_RECOVER_PREPARED (RID_DESKTOP_STRING_START+2) @@ -50,8 +52,6 @@ #define STR_ASK_START_SETUP_MANUALLY (RID_DESKTOP_STRING_START+152) -#define STR_ERR_PRINTDISABLED (RID_DESKTOP_STRING_START+153) - #define STR_INTERNAL_ERRMSG (RID_DESKTOP_STRING_START+161) #define STR_LO_MUST_BE_RESTARTED (RID_DESKTOP_STRING_START+162) diff --git a/desktop/source/app/desktop.src b/desktop/source/app/desktop.src index b109a0e..1036b21 100644 --- a/desktop/source/app/desktop.src +++ b/desktop/source/app/desktop.src @@ -151,9 +151,11 @@ String STR_TITLE_USERDATALOCKED Text [ en-US ] = "%PRODUCTNAME %PRODUCTVERSION"; }; -String STR_ERR_PRINTDISABLED +ErrorBox EBX_ERR_PRINTDISABLED { - Text [ en-US ] = "Printing is disabled. No documents can be printed."; + Buttons = WB_OK ; + DefButton = WB_DEF_OK ; + Message [ en-US ] = "Printing is disabled. No documents can be printed."; }; String STR_TITLE_EXPIRED _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits