mirror of
https://github.com/processing/processing4.git
synced 2026-06-16 04:26:26 +02:00
@@ -46,9 +46,9 @@ import processing.core.*;
|
||||
public class Base {
|
||||
// Added accessors for 0218 because the UpdateCheck class was not properly
|
||||
// updating the values, due to javac inlining the static final values.
|
||||
static private final int REVISION = 223;
|
||||
static private final int REVISION = 224;
|
||||
/** This might be replaced by main() if there's a lib/version.txt file. */
|
||||
static private String VERSION_NAME = "0223"; //$NON-NLS-1$
|
||||
static private String VERSION_NAME = "0224"; //$NON-NLS-1$
|
||||
/** Set true if this a proper release rather than a numbered revision. */
|
||||
// static private boolean RELEASE = false;
|
||||
|
||||
@@ -1592,7 +1592,7 @@ public class Base {
|
||||
}
|
||||
|
||||
|
||||
// Because the Oracle JDK is 64-bit only, we lose this ability, feature,
|
||||
// Because the Oracle JDK is 64-bit only, we lose this ability, feature,
|
||||
// edge case, headache.
|
||||
// /**
|
||||
// * Return whether sketches will run as 32- or 64-bits. On Linux and Windows,
|
||||
@@ -1605,10 +1605,10 @@ public class Base {
|
||||
// }
|
||||
// return nativeBits;
|
||||
// }
|
||||
|
||||
/**
|
||||
* Return whether sketches will run as 32- or 64-bits based
|
||||
* on the JVM that's in use.
|
||||
|
||||
/**
|
||||
* Return whether sketches will run as 32- or 64-bits based
|
||||
* on the JVM that's in use.
|
||||
*/
|
||||
static public int getNativeBits() {
|
||||
return nativeBits;
|
||||
|
||||
+16
-1
@@ -1035,8 +1035,23 @@
|
||||
${windows.dist}
|
||||
=======================================================
|
||||
</echo>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - -->
|
||||
<!-- Package source 'n tag the release -->
|
||||
<!-- - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<!--
|
||||
not ready to automate this yet, since we often have to reset the tag
|
||||
<target name="dist-src" depends="dist">
|
||||
<exec executable="git">
|
||||
remove the spaces for depth since it should be double dash, but screws up comments
|
||||
<arg line="clone - -depth 1 git@github.com:processing/processing.git /tmp/processing-${version}-src" />
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
-->
|
||||
|
||||
|
||||
<!-- - - - - - - - - -->
|
||||
<!-- Developer Docs -->
|
||||
|
||||
@@ -26,6 +26,8 @@
|
||||
# You'll have problems running Processing if you incorrectly
|
||||
# modify lines in this file. It will probably not start at all.
|
||||
|
||||
# AGAIN, DO NOT ALTER THIS FILE! I'M ONLY YELLING BECAUSE I LOVE YOU!
|
||||
|
||||
|
||||
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
@@ -265,9 +267,9 @@ editor.token.invalid.style = #666666,bold
|
||||
|
||||
|
||||
# which platforms to export by default
|
||||
export.application.platform.windows = true
|
||||
export.application.platform.macosx = true
|
||||
export.application.platform.linux = true
|
||||
#export.application.platform.windows = true
|
||||
#export.application.platform.macosx = true
|
||||
#export.application.platform.linux = true
|
||||
|
||||
# whether or not to export as full screen (present) mode
|
||||
export.application.fullscreen = false
|
||||
@@ -275,8 +277,8 @@ export.application.fullscreen = false
|
||||
# whether to show the stop button when exporting to application
|
||||
export.application.stop = true
|
||||
|
||||
# false will place all exported files into a single .jar
|
||||
#export.applet.separate_jar_files = false
|
||||
# embed Java by default for lower likelihood of problems
|
||||
export.application.embed_java = true
|
||||
|
||||
# set to false to no longer delete applet or application folders before export
|
||||
export.delete_target_folder = true
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
PROCESSING 2.1 beta 2 (REV 0223) - 2X October 2013
|
||||
PROCESSING 2.1 (REV 0223) - 27 October 2013
|
||||
|
||||
There have been major changes since 2.0.3, most of them are outlined in
|
||||
the release notes for 2.1 beta 1 (look down a few dozen lines).
|
||||
|
||||
This release includes a few updates to fix problems introduced in the beta
|
||||
release, as well as additional general bug fixes, especially for OpenGL.
|
||||
|
||||
+ Added an option to not embed the Java runtime into an exported application.
|
||||
This saves you the 100 MB footprint, but requires your users to install
|
||||
@@ -31,6 +37,64 @@ PROCESSING 2.1 beta 2 (REV 0223) - 2X October 2013
|
||||
object), we've added code so that println() works as before. But we
|
||||
can't do the same for arrays of objects, such as String.
|
||||
|
||||
+ The preference for font smoothing (anti-aliasing) in the editor has been
|
||||
reset in this release. Fonts are unusably gross on OS X (and Linux)
|
||||
without smoothing and Oracle's version of Java (now in use with 2.1),
|
||||
and many longtime users have anti-aliasing turned off. You can still
|
||||
turn off smoothing in the Preferences window, but the results may be poor.
|
||||
https://github.com/processing/processing/issues/2164
|
||||
https://github.com/processing/processing/issues/2160
|
||||
|
||||
|
||||
[ bug fixes ]
|
||||
|
||||
+ Fix dataPath() problem with OS X (was breaking Movie on export)
|
||||
|
||||
+ Command line processing-java was broken in 2.1 beta 1 on OS X
|
||||
https://github.com/processing/processing/issues/2159
|
||||
|
||||
+ Fix a situation where processing-java would return 0 instead of 1 on errors
|
||||
https://github.com/processing/processing/issues/1798#issuecomment-26711847
|
||||
|
||||
+ Alpha values from the pixels array were coming back as 0
|
||||
https://github.com/processing/processing/issues/2030
|
||||
|
||||
+ Additional UI font tweaks due to decreased legibility with Oracle Java
|
||||
https://github.com/processing/processing/issues/2135
|
||||
|
||||
|
||||
[ OpenGL updates ]
|
||||
|
||||
+ Using sketchQuality() does not work properly with P3D, OPENGL, P2D
|
||||
https://github.com/processing/processing/pull/2157
|
||||
|
||||
+ Fix crashes when the sketch window is resized
|
||||
https://github.com/processing/processing/issues/1880
|
||||
https://github.com/processing/processing/pull/2156
|
||||
|
||||
+ scale() wasn't affecting stroke weight in P3D
|
||||
https://github.com/processing/processing/issues/2162
|
||||
|
||||
+ Add set(boolean) to PShader
|
||||
https://github.com/processing/processing/issues/1991
|
||||
https://github.com/processing/processing/pull/1993
|
||||
|
||||
+ Add PMatrix.preApply(PMatrix)
|
||||
https://github.com/processing/processing/pull/2146
|
||||
https://github.com/processing/processing/issues/2145
|
||||
|
||||
+ Updated to another version of JOGL (jogl-2.1-b1115, gluegen-2.1-b735)
|
||||
for OS X 10.9 support.
|
||||
|
||||
+ Add warning when no uv texture coordinates are supplied
|
||||
https://github.com/processing/processing/issues/2034
|
||||
|
||||
+ Flicker issues when resizing P2D/P3D/OPENGL
|
||||
https://github.com/processing/processing/issues/15
|
||||
|
||||
+ Additional fix for occasional flash/flicker with drawing complex scenes
|
||||
https://github.com/processing/processing/commit/cca2f08a24ef892c494f5a75aa0e4b01de7e5d8a
|
||||
|
||||
|
||||
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
|
||||
|
||||
|
||||
@@ -1,3 +1,33 @@
|
||||
0223 core (2.1)
|
||||
X fix dataPath() problem with OS X (was breaking Movie)
|
||||
X alpha values from the pixels array coming back as 0
|
||||
X only tested on background(), not image()
|
||||
X https://github.com/processing/processing/issues/2030
|
||||
|
||||
opengl
|
||||
X Using sketchQuality() does not work properly with P3D, OPENGL, P2D
|
||||
X https://github.com/processing/processing/pull/2157
|
||||
X Fix crashes when the sketch window is resized
|
||||
X https://github.com/processing/processing/issues/1880
|
||||
X https://github.com/processing/processing/pull/2156
|
||||
X scale() wasn't affecting stroke weight in P3D
|
||||
X https://github.com/processing/processing/issues/2162
|
||||
X add set(boolean) to PShader
|
||||
X https://github.com/processing/processing/issues/1991
|
||||
X https://github.com/processing/processing/pull/1993
|
||||
X add PMatrix.preApply(PMatrix)
|
||||
X https://github.com/processing/processing/pull/2146
|
||||
X https://github.com/processing/processing/issues/2145
|
||||
X updated to another version of JOGL
|
||||
X updated to jogl-2.1-b1115, gluegen-2.1-b735 for OSX 10.9 support
|
||||
X Add warning when no uv texture coordinates are supplied
|
||||
X https://github.com/processing/processing/issues/2034
|
||||
X threading/flicker issues when resizing P2D/P3D/OPENGL
|
||||
X https://github.com/processing/processing/issues/15
|
||||
X additional flicker avoidance
|
||||
X https://github.com/processing/processing/commit/cca2f08a24ef892c494f5a75aa0e4b01de7e5d8a
|
||||
|
||||
|
||||
0222 core (2.1b1)
|
||||
X background color for present mode has no effect
|
||||
X https://github.com/processing/processing/issues/2071
|
||||
|
||||
@@ -7844,7 +7844,7 @@ public class PApplet extends Applet
|
||||
* This is only available with applications, not applets or Android.
|
||||
* On Windows and Linux, this is simply the data folder, which is located
|
||||
* in the same directory as the EXE file and lib folders. On Mac OS X, this
|
||||
* is a path to the data folder buried inside Contents/Resources/Java.
|
||||
* is a path to the data folder buried inside Contents/Java.
|
||||
* For the latter point, that also means that the data folder should not be
|
||||
* considered writable. Use sketchPath() for now, or inputPath() and
|
||||
* outputPath() once they're available in the 2.0 release.
|
||||
@@ -7871,11 +7871,12 @@ public class PApplet extends Applet
|
||||
|
||||
String jarPath =
|
||||
getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
|
||||
if (jarPath.contains("Contents/Resources/Java/")) {
|
||||
if (jarPath.contains("Contents/Java/")) {
|
||||
// The path will be URL encoded (%20 for spaces) coming from above
|
||||
// http://code.google.com/p/processing/issues/detail?id=1073
|
||||
File containingFolder = new File(urlDecode(jarPath)).getParentFile();
|
||||
File dataFolder = new File(containingFolder, "data");
|
||||
System.out.println(dataFolder);
|
||||
return new File(dataFolder, where);
|
||||
}
|
||||
// Windows, Linux, or when not using a Mac OS X .app file
|
||||
@@ -7885,7 +7886,7 @@ public class PApplet extends Applet
|
||||
|
||||
/**
|
||||
* On Windows and Linux, this is simply the data folder. On Mac OS X, this is
|
||||
* the path to the data folder buried inside Contents/Resources/Java
|
||||
* the path to the data folder buried inside Contents/Java
|
||||
*/
|
||||
// public File inputFile(String where) {
|
||||
// }
|
||||
|
||||
@@ -376,7 +376,7 @@ public class PGraphicsJava2D extends PGraphics {
|
||||
PApplet.debug("PGraphicsJava2D.redraw() top of outer do { } block");
|
||||
do {
|
||||
PApplet.debug("PGraphicsJava2D.redraw() top of inner do { } block");
|
||||
System.out.println("strategy is " + strategy);
|
||||
PApplet.debug("strategy is " + strategy);
|
||||
Graphics bsg = strategy.getDrawGraphics();
|
||||
if (vimage != null) {
|
||||
bsg.drawImage(vimage, 0, 0, null);
|
||||
@@ -1259,7 +1259,7 @@ public class PGraphicsJava2D extends PGraphics {
|
||||
|
||||
if (cash == null) {
|
||||
//System.out.println("making new image cache");
|
||||
cash = new ImageCache(who);
|
||||
cash = new ImageCache(); //who);
|
||||
setCache(who, cash);
|
||||
who.updatePixels(); // mark the whole thing for update
|
||||
who.modified = true;
|
||||
@@ -1310,17 +1310,17 @@ public class PGraphicsJava2D extends PGraphics {
|
||||
class ImageCache {
|
||||
boolean tinted;
|
||||
int tintedColor;
|
||||
int tintedPixels[]; // one row of tinted pixels
|
||||
int[] tintedTemp; // one row of tinted pixels
|
||||
BufferedImage image;
|
||||
|
||||
public ImageCache(PImage source) {
|
||||
// this.source = source;
|
||||
// even if RGB, set the image type to ARGB, because the
|
||||
// image may have an alpha value for its tint().
|
||||
// int type = BufferedImage.TYPE_INT_ARGB;
|
||||
//System.out.println("making new buffered image");
|
||||
// image = new BufferedImage(source.width, source.height, type);
|
||||
}
|
||||
// public ImageCache(PImage source) {
|
||||
//// this.source = source;
|
||||
// // even if RGB, set the image type to ARGB, because the
|
||||
// // image may have an alpha value for its tint().
|
||||
//// int type = BufferedImage.TYPE_INT_ARGB;
|
||||
// //System.out.println("making new buffered image");
|
||||
//// image = new BufferedImage(source.width, source.height, type);
|
||||
// }
|
||||
|
||||
/**
|
||||
* Update the pixels of the cache image. Already determined that the tint
|
||||
@@ -1328,29 +1328,41 @@ public class PGraphicsJava2D extends PGraphics {
|
||||
* with the update without further checks.
|
||||
*/
|
||||
public void update(PImage source, boolean tint, int tintColor) {
|
||||
int bufferType = BufferedImage.TYPE_INT_ARGB;
|
||||
//int bufferType = BufferedImage.TYPE_INT_ARGB;
|
||||
int targetType = ARGB;
|
||||
boolean opaque = (tintColor & 0xFF000000) == 0xFF000000;
|
||||
if (source.format == RGB) {
|
||||
if (!tint || (tint && opaque)) {
|
||||
bufferType = BufferedImage.TYPE_INT_RGB;
|
||||
//bufferType = BufferedImage.TYPE_INT_RGB;
|
||||
targetType = RGB;
|
||||
}
|
||||
}
|
||||
boolean wrongType = (image != null) && (image.getType() != bufferType);
|
||||
if ((image == null) || wrongType) {
|
||||
image = new BufferedImage(source.width, source.height, bufferType);
|
||||
// boolean wrongType = (image != null) && (image.getType() != bufferType);
|
||||
// if ((image == null) || wrongType) {
|
||||
// image = new BufferedImage(source.width, source.height, bufferType);
|
||||
// }
|
||||
// Must always use an ARGB image, otherwise will write zeros
|
||||
// in the alpha channel when drawn to the screen.
|
||||
// https://github.com/processing/processing/issues/2030
|
||||
if (image == null) {
|
||||
image = new BufferedImage(source.width, source.height,
|
||||
BufferedImage.TYPE_INT_ARGB);
|
||||
}
|
||||
|
||||
WritableRaster wr = image.getRaster();
|
||||
if (tint) {
|
||||
if (tintedPixels == null || tintedPixels.length != source.width) {
|
||||
tintedPixels = new int[source.width];
|
||||
if (tintedTemp == null || tintedTemp.length != source.width) {
|
||||
tintedTemp = new int[source.width];
|
||||
}
|
||||
int a2 = (tintColor >> 24) & 0xff;
|
||||
// System.out.println("tint color is " + a2);
|
||||
// System.out.println("source.pixels[0] alpha is " + (source.pixels[0] >>> 24));
|
||||
int r2 = (tintColor >> 16) & 0xff;
|
||||
int g2 = (tintColor >> 8) & 0xff;
|
||||
int b2 = (tintColor) & 0xff;
|
||||
|
||||
if (bufferType == BufferedImage.TYPE_INT_RGB) {
|
||||
//if (bufferType == BufferedImage.TYPE_INT_RGB) {
|
||||
if (targetType == RGB) {
|
||||
// The target image is opaque, meaning that the source image has no
|
||||
// alpha (is not ARGB), and the tint has no alpha.
|
||||
int index = 0;
|
||||
@@ -1361,12 +1373,15 @@ public class PGraphicsJava2D extends PGraphics {
|
||||
int g1 = (argb1 >> 8) & 0xff;
|
||||
int b1 = (argb1) & 0xff;
|
||||
|
||||
tintedPixels[x] = //0xFF000000 |
|
||||
// Prior to 2.1, the alpha channel was commented out here,
|
||||
// but can't remember why (just thought unnecessary b/c of RGB?)
|
||||
// https://github.com/processing/processing/issues/2030
|
||||
tintedTemp[x] = 0xFF000000 |
|
||||
(((r2 * r1) & 0xff00) << 8) |
|
||||
((g2 * g1) & 0xff00) |
|
||||
(((b2 * b1) & 0xff00) >> 8);
|
||||
}
|
||||
wr.setDataElements(0, y, source.width, 1, tintedPixels);
|
||||
wr.setDataElements(0, y, source.width, 1, tintedTemp);
|
||||
}
|
||||
// could this be any slower?
|
||||
// float[] scales = { tintR, tintG, tintB };
|
||||
@@ -1374,16 +1389,17 @@ public class PGraphicsJava2D extends PGraphics {
|
||||
// RescaleOp op = new RescaleOp(scales, offsets, null);
|
||||
// op.filter(image, image);
|
||||
|
||||
} else if (bufferType == BufferedImage.TYPE_INT_ARGB) {
|
||||
//} else if (bufferType == BufferedImage.TYPE_INT_ARGB) {
|
||||
} else if (targetType == ARGB) {
|
||||
if (source.format == RGB &&
|
||||
(tintColor & 0xffffff) == 0xffffff) {
|
||||
int hi = tintColor & 0xff000000;
|
||||
int index = 0;
|
||||
for (int y = 0; y < source.height; y++) {
|
||||
for (int x = 0; x < source.width; x++) {
|
||||
tintedPixels[x] = hi | (source.pixels[index++] & 0xFFFFFF);
|
||||
tintedTemp[x] = hi | (source.pixels[index++] & 0xFFFFFF);
|
||||
}
|
||||
wr.setDataElements(0, y, source.width, 1, tintedPixels);
|
||||
wr.setDataElements(0, y, source.width, 1, tintedTemp);
|
||||
}
|
||||
} else {
|
||||
int index = 0;
|
||||
@@ -1395,7 +1411,7 @@ public class PGraphicsJava2D extends PGraphics {
|
||||
int r1 = (argb1 >> 16) & 0xff;
|
||||
int g1 = (argb1 >> 8) & 0xff;
|
||||
int b1 = (argb1) & 0xff;
|
||||
tintedPixels[x] = alpha |
|
||||
tintedTemp[x] = alpha |
|
||||
(((r2 * r1) & 0xff00) << 8) |
|
||||
((g2 * g1) & 0xff00) |
|
||||
(((b2 * b1) & 0xff00) >> 8);
|
||||
@@ -1407,7 +1423,7 @@ public class PGraphicsJava2D extends PGraphics {
|
||||
int r1 = (argb1 >> 16) & 0xff;
|
||||
int g1 = (argb1 >> 8) & 0xff;
|
||||
int b1 = (argb1) & 0xff;
|
||||
tintedPixels[x] =
|
||||
tintedTemp[x] =
|
||||
(((a2 * a1) & 0xff00) << 16) |
|
||||
(((r2 * r1) & 0xff00) << 8) |
|
||||
((g2 * g1) & 0xff00) |
|
||||
@@ -1417,11 +1433,11 @@ public class PGraphicsJava2D extends PGraphics {
|
||||
int lower = tintColor & 0xFFFFFF;
|
||||
for (int x = 0; x < source.width; x++) {
|
||||
int a1 = source.pixels[index++];
|
||||
tintedPixels[x] =
|
||||
tintedTemp[x] =
|
||||
(((a2 * a1) & 0xff00) << 16) | lower;
|
||||
}
|
||||
}
|
||||
wr.setDataElements(0, y, source.width, 1, tintedPixels);
|
||||
wr.setDataElements(0, y, source.width, 1, tintedTemp);
|
||||
}
|
||||
}
|
||||
// Not sure why ARGB images take the scales in this order...
|
||||
@@ -1430,7 +1446,9 @@ public class PGraphicsJava2D extends PGraphics {
|
||||
// RescaleOp op = new RescaleOp(scales, offsets, null);
|
||||
// op.filter(image, image);
|
||||
}
|
||||
} else {
|
||||
} else { // !tint
|
||||
// If no tint, just shove the pixels on in there verbatim
|
||||
// System.out.println("!tint source.pixels[0] alpha is " + (source.pixels[0] >>> 24));
|
||||
wr.setDataElements(0, 0, source.width, source.height, source.pixels);
|
||||
}
|
||||
this.tinted = tint;
|
||||
@@ -2336,7 +2354,15 @@ public class PGraphicsJava2D extends PGraphics {
|
||||
pixels = new int[width * height];
|
||||
}
|
||||
|
||||
getRaster().getDataElements(0, 0, width, height, pixels);
|
||||
WritableRaster raster = getRaster();
|
||||
raster.getDataElements(0, 0, width, height, pixels);
|
||||
if (raster.getNumBands() == 3) {
|
||||
// Java won't set the high bits when RGB, returns 0 for alpha
|
||||
// https://github.com/processing/processing/issues/2030
|
||||
for (int i = 0; i < pixels.length; i++) {
|
||||
pixels[i] = 0xff000000 | pixels[i];
|
||||
}
|
||||
}
|
||||
//((BufferedImage) image).getRGB(0, 0, width, height, pixels, 0, width);
|
||||
// WritableRaster raster = ((BufferedImage) (useOffscreen && primarySurface ? offscreen : image)).getRaster();
|
||||
// WritableRaster raster = image.getRaster();
|
||||
@@ -2405,8 +2431,12 @@ public class PGraphicsJava2D extends PGraphics {
|
||||
if ((x < 0) || (y < 0) || (x >= width) || (y >= height)) return 0;
|
||||
//return ((BufferedImage) image).getRGB(x, y);
|
||||
// WritableRaster raster = ((BufferedImage) (useOffscreen && primarySurface ? offscreen : image)).getRaster();
|
||||
// WritableRaster raster = image.getRaster();
|
||||
getRaster().getDataElements(x, y, getset);
|
||||
WritableRaster raster = getRaster();
|
||||
raster.getDataElements(x, y, getset);
|
||||
if (raster.getNumBands() == 3) {
|
||||
// https://github.com/processing/processing/issues/2030
|
||||
return getset[0] | 0xff000000;
|
||||
}
|
||||
return getset[0];
|
||||
}
|
||||
|
||||
@@ -2432,6 +2462,10 @@ public class PGraphicsJava2D extends PGraphics {
|
||||
|
||||
if (sourceWidth == target.width && sourceHeight == target.height) {
|
||||
raster.getDataElements(sourceX, sourceY, sourceWidth, sourceHeight, target.pixels);
|
||||
// https://github.com/processing/processing/issues/2030
|
||||
if (raster.getNumBands() == 3) {
|
||||
target.filter(OPAQUE);
|
||||
}
|
||||
|
||||
} else {
|
||||
// TODO optimize, incredibly inefficient to reallocate this much memory
|
||||
@@ -2442,7 +2476,15 @@ public class PGraphicsJava2D extends PGraphics {
|
||||
int sourceOffset = 0;
|
||||
int targetOffset = targetY*target.width + targetX;
|
||||
for (int y = 0; y < sourceHeight; y++) {
|
||||
System.arraycopy(temp, sourceOffset, target.pixels, targetOffset, sourceWidth);
|
||||
if (raster.getNumBands() == 3) {
|
||||
for (int i = 0; i < sourceWidth; i++) {
|
||||
// Need to set the high bits for this feller
|
||||
// https://github.com/processing/processing/issues/2030
|
||||
target.pixels[targetOffset + i] = 0xFF000000 | temp[sourceOffset + i];
|
||||
}
|
||||
} else {
|
||||
System.arraycopy(temp, sourceOffset, target.pixels, targetOffset, sourceWidth);
|
||||
}
|
||||
sourceOffset += sourceWidth;
|
||||
targetOffset += target.width;
|
||||
}
|
||||
|
||||
@@ -2420,10 +2420,7 @@ public class PGraphicsOpenGL extends PGraphics {
|
||||
shader.setTexture(tex);
|
||||
}
|
||||
|
||||
pgl.bindBuffer(PGL.ELEMENT_ARRAY_BUFFER, glPolyIndex);
|
||||
pgl.drawElements(PGL.TRIANGLES, icount, PGL.INDEX_TYPE,
|
||||
ioffset * PGL.SIZEOF_INDEX);
|
||||
pgl.bindBuffer(PGL.ELEMENT_ARRAY_BUFFER, 0);
|
||||
shader.draw(glPolyIndex, icount, ioffset);
|
||||
}
|
||||
|
||||
shader.unbind();
|
||||
@@ -2557,10 +2554,7 @@ public class PGraphicsOpenGL extends PGraphics {
|
||||
shader.setLineAttribute(glLineAttrib, 4, PGL.FLOAT, 0,
|
||||
4 * voffset * PGL.SIZEOF_FLOAT);
|
||||
|
||||
pgl.bindBuffer(PGL.ELEMENT_ARRAY_BUFFER, glLineIndex);
|
||||
pgl.drawElements(PGL.TRIANGLES, icount, PGL.INDEX_TYPE,
|
||||
ioffset * PGL.SIZEOF_INDEX);
|
||||
pgl.bindBuffer(PGL.ELEMENT_ARRAY_BUFFER, 0);
|
||||
shader.draw(glLineIndex, icount, ioffset);
|
||||
}
|
||||
|
||||
shader.unbind();
|
||||
@@ -2661,10 +2655,7 @@ public class PGraphicsOpenGL extends PGraphics {
|
||||
shader.setPointAttribute(glPointAttrib, 2, PGL.FLOAT, 0,
|
||||
2 * voffset * PGL.SIZEOF_FLOAT);
|
||||
|
||||
pgl.bindBuffer(PGL.ELEMENT_ARRAY_BUFFER, glPointIndex);
|
||||
pgl.drawElements(PGL.TRIANGLES, icount, PGL.INDEX_TYPE,
|
||||
ioffset * PGL.SIZEOF_INDEX);
|
||||
pgl.bindBuffer(PGL.ELEMENT_ARRAY_BUFFER, 0);
|
||||
shader.draw(glPointIndex, icount, ioffset);
|
||||
}
|
||||
|
||||
shader.unbind();
|
||||
|
||||
@@ -579,6 +579,14 @@ public class PShader implements PConstants {
|
||||
}
|
||||
|
||||
|
||||
protected void draw(int idxId, int count, int offset) {
|
||||
pgl.bindBuffer(PGL.ELEMENT_ARRAY_BUFFER, idxId);
|
||||
pgl.drawElements(PGL.TRIANGLES, count, PGL.INDEX_TYPE,
|
||||
offset * PGL.SIZEOF_INDEX);
|
||||
pgl.bindBuffer(PGL.ELEMENT_ARRAY_BUFFER, 0);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the ID location of the attribute parameter given its name.
|
||||
*
|
||||
|
||||
@@ -4681,10 +4681,7 @@ public class PShapeOpenGL extends PShape {
|
||||
shader.setTexture(tex);
|
||||
}
|
||||
|
||||
pgl.bindBuffer(PGL.ELEMENT_ARRAY_BUFFER, root.glPolyIndex);
|
||||
pgl.drawElements(PGL.TRIANGLES, icount, PGL.INDEX_TYPE,
|
||||
ioffset * PGL.SIZEOF_INDEX);
|
||||
pgl.bindBuffer(PGL.ELEMENT_ARRAY_BUFFER, 0);
|
||||
shader.draw(root.glPolyIndex, icount, ioffset);
|
||||
}
|
||||
|
||||
if (shader != null && shader.bound()) {
|
||||
@@ -4805,10 +4802,7 @@ public class PShapeOpenGL extends PShape {
|
||||
shader.setLineAttribute(root.glLineAttrib, 4, PGL.FLOAT,
|
||||
0, 4 * voffset * PGL.SIZEOF_FLOAT);
|
||||
|
||||
pgl.bindBuffer(PGL.ELEMENT_ARRAY_BUFFER, root.glLineIndex);
|
||||
pgl.drawElements(PGL.TRIANGLES, icount, PGL.INDEX_TYPE,
|
||||
ioffset * PGL.SIZEOF_INDEX);
|
||||
pgl.bindBuffer(PGL.ELEMENT_ARRAY_BUFFER, 0);
|
||||
shader.draw(root.glLineIndex, icount, ioffset);
|
||||
}
|
||||
|
||||
shader.unbind();
|
||||
@@ -4905,10 +4899,7 @@ public class PShapeOpenGL extends PShape {
|
||||
shader.setPointAttribute(root.glPointAttrib, 2, PGL.FLOAT,
|
||||
0, 2 * voffset * PGL.SIZEOF_FLOAT);
|
||||
|
||||
pgl.bindBuffer(PGL.ELEMENT_ARRAY_BUFFER, root.glPointIndex);
|
||||
pgl.drawElements(PGL.TRIANGLES, icount, PGL.INDEX_TYPE,
|
||||
ioffset * PGL.SIZEOF_INDEX);
|
||||
pgl.bindBuffer(PGL.ELEMENT_ARRAY_BUFFER, 0);
|
||||
shader.draw(root.glPointIndex, icount, ioffset);
|
||||
}
|
||||
|
||||
shader.unbind();
|
||||
|
||||
+3
-23
@@ -1,33 +1,13 @@
|
||||
0223 core
|
||||
0224 core
|
||||
|
||||
opengl
|
||||
X Using sketchQuality() does not work properly with P3D, OPENGL, P2D
|
||||
X https://github.com/processing/processing/pull/2157
|
||||
X Fix crashes when the sketch window is resized
|
||||
X https://github.com/processing/processing/issues/1880
|
||||
X https://github.com/processing/processing/pull/2156
|
||||
X scale() wasn't affecting stroke weight in P3D
|
||||
X https://github.com/processing/processing/issues/2162
|
||||
X add set(boolean) to PShader
|
||||
X https://github.com/processing/processing/issues/1991
|
||||
X https://github.com/processing/processing/pull/1993
|
||||
X add PMatrix.preApply(PMatrix)
|
||||
X https://github.com/processing/processing/pull/2146
|
||||
X https://github.com/processing/processing/issues/2145
|
||||
X updated to another version of JOGL
|
||||
X updated to jogl-2.1-b1115, gluegen-2.1-b735 for OSX 10.9 support
|
||||
X Add warning when no uv texture coordinates are supplied
|
||||
X https://github.com/processing/processing/issues/2034
|
||||
X threading/flicker issues when resizing P2D/P3D/OPENGL
|
||||
X https://github.com/processing/processing/issues/15
|
||||
|
||||
high
|
||||
_ zero alpha values still a problem with retina renderer
|
||||
_ https://github.com/processing/processing/issues/2030
|
||||
_ Sort out blending differences with P2D/P3D
|
||||
_ https://github.com/processing/processing/issues/1844
|
||||
_ 'collector' class.. Dict that points to a list
|
||||
_ String as a key, int/float/string list as values
|
||||
_ loadPixels doesn't set alpha value for pixels on Java2D
|
||||
_ https://github.com/processing/processing/issues/2030
|
||||
_ blendMode(ADD) is broken with default renderer
|
||||
_ https://github.com/processing/processing/issues/2012
|
||||
_ may have been introduced between 2.0b7 and 2.0b8
|
||||
|
||||
@@ -1,3 +1,23 @@
|
||||
0223 pde (2.1)
|
||||
X reset font smoothing for everyone to its default by changing the pref
|
||||
X To reset everyone's default, replaced editor.antialias with editor.smooth
|
||||
X for 2.1. Fonts are unusably gross on OS X (and Linux) w/o smoothing and
|
||||
X the Oracle JVM, and many longtime users have anti-aliasing turned off.
|
||||
X https://github.com/processing/processing/issues/2164
|
||||
X https://github.com/processing/processing/issues/2160
|
||||
X Add option to not embed the Java runtime (saves space, but breakage)
|
||||
X return code needs to be 1 instead of 0 w/ Commander
|
||||
X https://github.com/processing/processing/issues/1798#issuecomment-26711847
|
||||
X additional font tweaks due to decreased legibility with Oracle Java
|
||||
X type looks a little feeble on OS X with non-retina machines
|
||||
X https://github.com/processing/processing/issues/2135
|
||||
X should we increase the size of the mode dropdown?
|
||||
X processing-java broken in 2.1 beta 1 on OS X
|
||||
X https://github.com/processing/processing/issues/2159
|
||||
X need to use the embedded Java, different classpath, etc
|
||||
X also might be time to put something in to check the version
|
||||
|
||||
|
||||
0222 pde (2.1b1)
|
||||
X MovieMaker needs to be compiling as 1.6
|
||||
X deal with null/missing folders for Tools and Modes
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
bin
|
||||
@@ -349,6 +349,16 @@ public class Serial implements SerialPortEventListener {
|
||||
}
|
||||
|
||||
|
||||
public String readStringUntil(int inByte) {
|
||||
byte temp[] = readBytesUntil(inByte);
|
||||
if (temp == null) {
|
||||
return null;
|
||||
} else {
|
||||
return new String(temp);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void serialEvent(SerialPortEvent event) {
|
||||
if (event.getEventType() == SerialPortEvent.RXCHAR) {
|
||||
int toRead;
|
||||
|
||||
@@ -1,25 +1,11 @@
|
||||
0223 pde
|
||||
X reset font smoothing for everyone to its default by changing the pref
|
||||
# To reset everyone's default, replaced editor.antialias with editor.smooth
|
||||
# for 2.1. Fonts are unusably gross on OS X (and Linux) w/o smoothing and
|
||||
# the Oracle JVM, and many longtime users have anti-aliasing turned off.
|
||||
X https://github.com/processing/processing/issues/2164
|
||||
X https://github.com/processing/processing/issues/2160
|
||||
X Add option to not embed the Java runtime (saves space, but breakage)
|
||||
X return code needs to be 1 instead of 0 w/ Commander
|
||||
X https://github.com/processing/processing/issues/1798#issuecomment-26711847
|
||||
X additional font tweaks due to decreased legibility with Oracle Java
|
||||
X type looks a little feeble on OS X with non-retina machines
|
||||
X https://github.com/processing/processing/issues/2135
|
||||
X should we increase the size of the mode dropdown?
|
||||
X processing-java broken in 2.1 beta 1 on OS X
|
||||
X https://github.com/processing/processing/issues/2159
|
||||
X need to use the embedded Java, different classpath, etc
|
||||
X also might be time to put something in to check the version
|
||||
0224 pde
|
||||
|
||||
|
||||
medium
|
||||
_ should default to the local Java on Windows and Linux
|
||||
_ have export apps default to the local JRE
|
||||
_ Linux is probably using the system JRE if available
|
||||
_ launch4j may be all set, but double-check
|
||||
_ try installing 10.7.3 on Mac Mini and check whether things run
|
||||
_ make sure it's only running on 64-bit machines?
|
||||
_ use platformDelete() to remove untitled sketches?
|
||||
@@ -33,6 +19,7 @@ _ changing modes brings the PDE back on the second screen
|
||||
_ the Find window (also the save windows) also have the same problem
|
||||
_ move old Google Code SVN back to processing.org
|
||||
_ then cull out the old branches/tags from the Github repo
|
||||
_ and/or start bundling separate source downloads
|
||||
_ "String index out of range" error
|
||||
_ https://github.com/processing/processing/issues/1940
|
||||
_ look through all isPopupTrigger() code
|
||||
|
||||
Reference in New Issue
Block a user