Browse Source

Fix pure opengl3 build

pull/357/head
falkTX 3 years ago
parent
commit
6d983cbfe7
3 changed files with 25 additions and 1 deletions
  1. +8
    -0
      dgl/OpenGL.hpp
  2. +1
    -1
      dgl/src/NanoVG.cpp
  3. +16
    -0
      dgl/src/OpenGL.cpp

+ 8
- 0
dgl/OpenGL.hpp View File

@@ -129,7 +129,11 @@ ImageFormat asDISTRHOImageFormat(const GLenum format)
{ {
switch (format) switch (format)
{ {
#ifdef DGL_USE_OPENGL3
case GL_RED:
#else
case GL_LUMINANCE: case GL_LUMINANCE:
#endif
return kImageFormatGrayscale; return kImageFormatGrayscale;
case GL_BGR: case GL_BGR:
return kImageFormatBGR; return kImageFormatBGR;
@@ -152,7 +156,11 @@ GLenum asOpenGLImageFormat(const ImageFormat format)
case kImageFormatNull: case kImageFormatNull:
break; break;
case kImageFormatGrayscale: case kImageFormatGrayscale:
#ifdef DGL_USE_OPENGL3
return GL_RED;
#else
return GL_LUMINANCE; return GL_LUMINANCE;
#endif
case kImageFormatBGR: case kImageFormatBGR:
return GL_BGR; return GL_BGR;
case kImageFormatBGRA: case kImageFormatBGRA:


+ 1
- 1
dgl/src/NanoVG.cpp View File

@@ -88,7 +88,7 @@ DGL_EXT(PFNGLUNIFORMBLOCKBINDINGPROC, glUniformBlockBinding)
# define NANOVG_GL2_IMPLEMENTATION # define NANOVG_GL2_IMPLEMENTATION
#endif #endif


#if defined(DISTRHO_OS_MAC) && defined(NANOVG_GL3_IMPLEMENTATION)
#if defined(DISTRHO_OS_MAC) && defined(NANOVG_GL2_IMPLEMENTATION)
# define glBindVertexArray glBindVertexArrayAPPLE # define glBindVertexArray glBindVertexArrayAPPLE
# define glDeleteVertexArrays glDeleteVertexArraysAPPLE # define glDeleteVertexArrays glDeleteVertexArraysAPPLE
# define glGenVertexArrays glGenVertexArraysAPPLE # define glGenVertexArrays glGenVertexArraysAPPLE


+ 16
- 0
dgl/src/OpenGL.cpp View File

@@ -38,10 +38,12 @@ START_NAMESPACE_DGL


void Color::setFor(const GraphicsContext&, const bool includeAlpha) void Color::setFor(const GraphicsContext&, const bool includeAlpha)
{ {
#ifndef DGL_USE_OPENGL3
if (includeAlpha) if (includeAlpha)
glColor4f(red, green, blue, alpha); glColor4f(red, green, blue, alpha);
else else
glColor3f(red, green, blue); glColor3f(red, green, blue);
#endif
} }


// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
@@ -52,6 +54,7 @@ static void drawLine(const Point<T>& posStart, const Point<T>& posEnd)
{ {
DISTRHO_SAFE_ASSERT_RETURN(posStart != posEnd,); DISTRHO_SAFE_ASSERT_RETURN(posStart != posEnd,);


#ifndef DGL_USE_OPENGL3
glBegin(GL_LINES); glBegin(GL_LINES);


{ {
@@ -60,6 +63,7 @@ static void drawLine(const Point<T>& posStart, const Point<T>& posEnd)
} }


glEnd(); glEnd();
#endif
} }


template<typename T> template<typename T>
@@ -102,6 +106,7 @@ static void drawCircle(const Point<T>& pos,
const T origy = pos.getY(); const T origy = pos.getY();
double t, x = size, y = 0.0; double t, x = size, y = 0.0;


#ifndef DGL_USE_OPENGL3
glBegin(outline ? GL_LINE_LOOP : GL_POLYGON); glBegin(outline ? GL_LINE_LOOP : GL_POLYGON);


for (uint i=0; i<numSegments; ++i) for (uint i=0; i<numSegments; ++i)
@@ -114,6 +119,7 @@ static void drawCircle(const Point<T>& pos,
} }


glEnd(); glEnd();
#endif
} }


template<typename T> template<typename T>
@@ -162,6 +168,7 @@ static void drawTriangle(const Point<T>& pos1,
{ {
DISTRHO_SAFE_ASSERT_RETURN(pos1 != pos2 && pos1 != pos3,); DISTRHO_SAFE_ASSERT_RETURN(pos1 != pos2 && pos1 != pos3,);


#ifndef DGL_USE_OPENGL3
glBegin(outline ? GL_LINE_LOOP : GL_TRIANGLES); glBegin(outline ? GL_LINE_LOOP : GL_TRIANGLES);


{ {
@@ -171,6 +178,7 @@ static void drawTriangle(const Point<T>& pos1,
} }


glEnd(); glEnd();
#endif
} }


template<typename T> template<typename T>
@@ -216,6 +224,7 @@ static void drawRectangle(const Rectangle<T>& rect, const bool outline)
{ {
DISTRHO_SAFE_ASSERT_RETURN(rect.isValid(),); DISTRHO_SAFE_ASSERT_RETURN(rect.isValid(),);


#ifndef DGL_USE_OPENGL3
glBegin(outline ? GL_LINE_LOOP : GL_QUADS); glBegin(outline ? GL_LINE_LOOP : GL_QUADS);


{ {
@@ -238,6 +247,7 @@ static void drawRectangle(const Rectangle<T>& rect, const bool outline)
} }


glEnd(); glEnd();
#endif
} }


template<typename T> template<typename T>
@@ -316,11 +326,14 @@ static void drawOpenGLImage(const OpenGLImage& image, const Point<int>& pos, con
setupCalled = true; setupCalled = true;
} }


#ifndef DGL_USE_OPENGL3
glColor4f(1.0f, 1.0f, 1.0f, 1.0f); glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
#endif


glEnable(GL_TEXTURE_2D); glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textureId); glBindTexture(GL_TEXTURE_2D, textureId);


#ifndef DGL_USE_OPENGL3
glBegin(GL_QUADS); glBegin(GL_QUADS);


{ {
@@ -343,6 +356,7 @@ static void drawOpenGLImage(const OpenGLImage& image, const Point<int>& pos, con
} }


glEnd(); glEnd();
#endif


glBindTexture(GL_TEXTURE_2D, 0); glBindTexture(GL_TEXTURE_2D, 0);
glDisable(GL_TEXTURE_2D); glDisable(GL_TEXTURE_2D);
@@ -528,6 +542,7 @@ void ImageBaseKnob<OpenGLImage>::onDisplay()
pData->isReady = true; pData->isReady = true;
} }


#ifndef DGL_USE_OPENGL3
const int w = static_cast<int>(getWidth()); const int w = static_cast<int>(getWidth());
const int h = static_cast<int>(getHeight()); const int h = static_cast<int>(getHeight());


@@ -549,6 +564,7 @@ void ImageBaseKnob<OpenGLImage>::onDisplay()
{ {
Rectangle<int>(0, 0, w, h).draw(context); Rectangle<int>(0, 0, w, h).draw(context);
} }
#endif


glBindTexture(GL_TEXTURE_2D, 0); glBindTexture(GL_TEXTURE_2D, 0);
glDisable(GL_TEXTURE_2D); glDisable(GL_TEXTURE_2D);


Loading…
Cancel
Save