From db6ab44cbecee8857b1c2d70acaaae431334a526 Mon Sep 17 00:00:00 2001 From: Jakub Valtar Date: Sat, 15 Aug 2015 21:00:20 -0400 Subject: [PATCH] These need preprocessing too --- core/src/processing/opengl/PGL.java | 17 +++++++++++++---- core/src/processing/opengl/PJOGL.java | 12 ++++++------ 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/core/src/processing/opengl/PGL.java b/core/src/processing/opengl/PGL.java index 71d7b3b74..a4109ea76 100644 --- a/core/src/processing/opengl/PGL.java +++ b/core/src/processing/opengl/PGL.java @@ -1065,8 +1065,10 @@ public abstract class PGL { PGL ppgl = primaryPGL ? this : pg.getPrimaryPGL(); if (!ppgl.loadedTex2DShader || ppgl.tex2DShaderContext != ppgl.glContext) { - String vertSource = PApplet.join(texVertShaderSource, "\n"); - String fragSource = PApplet.join(tex2DFragShaderSource, "\n"); + String[] preprocVertSrc = preprocessVertexSource(texVertShaderSource, getGLSLVersion()); + String vertSource = PApplet.join(preprocVertSrc, "\n"); + String[] preprocFragSrc = preprocessFragmentSource(tex2DFragShaderSource, getGLSLVersion()); + String fragSource = PApplet.join(preprocFragSrc, "\n"); ppgl.tex2DVertShader = createShader(VERTEX_SHADER, vertSource); ppgl.tex2DFragShader = createShader(FRAGMENT_SHADER, fragSource); if (0 < ppgl.tex2DVertShader && 0 < ppgl.tex2DFragShader) { @@ -1195,8 +1197,10 @@ public abstract class PGL { PGL ppgl = primaryPGL ? this : pg.getPrimaryPGL(); if (!ppgl.loadedTexRectShader || ppgl.texRectShaderContext != ppgl.glContext) { - String vertSource = PApplet.join(texVertShaderSource, "\n"); - String fragSource = PApplet.join(texRectFragShaderSource, "\n"); + String[] preprocVertSrc = preprocessVertexSource(texVertShaderSource, getGLSLVersion()); + String vertSource = PApplet.join(preprocVertSrc, "\n"); + String[] preprocFragSrc = preprocessFragmentSource(texRectFragShaderSource, getGLSLVersion()); + String fragSource = PApplet.join(preprocFragSrc, "\n"); ppgl.texRectVertShader = createShader(VERTEX_SHADER, vertSource); ppgl.texRectFragShader = createShader(FRAGMENT_SHADER, fragSource); if (0 < ppgl.texRectVertShader && 0 < ppgl.texRectFragShader) { @@ -1616,6 +1620,11 @@ public abstract class PGL { } + protected int getGLSLVersion() { + return 120; + } + + protected String[] loadVertexShader(String filename) { return pg.parent.loadStrings(filename); } diff --git a/core/src/processing/opengl/PJOGL.java b/core/src/processing/opengl/PJOGL.java index 07bcf8a0c..73512ca55 100644 --- a/core/src/processing/opengl/PJOGL.java +++ b/core/src/processing/opengl/PJOGL.java @@ -1238,8 +1238,8 @@ public class PJOGL extends PGL { return ((Font) font).deriveFont(size); } - - private static int getGLSLVersion(GLContext context) { + @Override + protected int getGLSLVersion() { VersionNumber vn = context.getGLSLVersionNumber(); return vn.getMajor() * 100 + vn.getMinor(); } @@ -1247,25 +1247,25 @@ public class PJOGL extends PGL { @Override protected String[] loadVertexShader(String filename) { - return loadVertexShader(filename, getGLSLVersion(context)); + return loadVertexShader(filename, getGLSLVersion()); } @Override protected String[] loadFragmentShader(String filename) { - return loadFragmentShader(filename, getGLSLVersion(context)); + return loadFragmentShader(filename, getGLSLVersion()); } @Override protected String[] loadVertexShader(URL url) { - return loadVertexShader(url, getGLSLVersion(context)); + return loadVertexShader(url, getGLSLVersion()); } @Override protected String[] loadFragmentShader(URL url) { - return loadFragmentShader(url, getGLSLVersion(context)); + return loadFragmentShader(url, getGLSLVersion()); }