mirror of
https://github.com/processing/processing4.git
synced 2026-06-16 04:26:26 +02:00
more release notes, bezier bug, other tweaks
This commit is contained in:
+81
-36
@@ -7,7 +7,7 @@ releases will be super crusty.
|
||||
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
|
||||
|
||||
|
||||
ABOUT REV 0149 - XX September 2008
|
||||
ABOUT REV 0149 - 11 October 2008
|
||||
|
||||
Very large number of bug fixes and changes. All renderers that use
|
||||
PGraphics will need to be updated for this release.
|
||||
@@ -20,8 +20,81 @@ Also many updates to the examples in this release.
|
||||
* RELEASES SINCE 0135 CONTAIN MANY SIGNIFICANT CHANGES, PLEASE READ *
|
||||
* THE NOTES IN THIS FILE FOR ANY RELEASE THAT YOU'VE NOT YET USED. *
|
||||
|
||||
[ changes ]
|
||||
|
||||
+ Change how PGraphics objects are created for better consistency. Sadly,
|
||||
this will require any libraries that subclass PGraphics to be rebuilt
|
||||
for this release. (However, internally it's a great improvement.)
|
||||
Renderer library authors please read the reference for PGraphics:
|
||||
http://dev.processing.org/reference/core/javadoc/processing/core/PGraphics.html
|
||||
For library developers, a gritty list of the internal function changes
|
||||
can be found in processing/core/done.txt in the revision 0149 section under
|
||||
the heading "PGraphics API changes". (It's not poetic, but it's real.)
|
||||
|
||||
+ We've decided that vector geometry is as important as image data, so the
|
||||
Candy library has been removed, and replaced by a built-in loadShape()
|
||||
method in PApplet, which returns a PShape object. (Candy lives on as the
|
||||
PShapeSVG class, which is the PShape subclass created by loadShape.)
|
||||
A shape() command has been added (like the image() command for images).
|
||||
See the new SVG examples for more information. In the future, we'd like
|
||||
to support other vector formats (such as OBJ) with loadShape(), or
|
||||
provide a means for libraries to register themselves to load shape data.
|
||||
|
||||
+ The PShape object is just a container for now, but will someday provide
|
||||
methods for accessing actual vertex information.
|
||||
|
||||
+ Because of the SVG changes, the XML library is now built into the core.
|
||||
This means that processing.xml will be imported by default (no need for
|
||||
"import processing.xml" in your sketch). This also means that "XML"
|
||||
will no longer be seen in the "Import Library" menu.
|
||||
|
||||
+ Altered how createInput(), save(), and saveFrame() work so that they
|
||||
are more friendly to signed applets.
|
||||
|
||||
+ Implemented new error/warning system inside PGraphics so that errors
|
||||
are only shown once, and non-fatal errors do not shut down the sketch.
|
||||
|
||||
+ The unhint() method has been removed, see the hint() reference for changes.
|
||||
|
||||
+ Changes to how match() works to bring back in line with other regexp
|
||||
implementations. Instead of only returning matching groups, match 0
|
||||
is the matching sequence, and array elements [1] and higher represent
|
||||
each of the groups (sequences found in parens).
|
||||
Also starting in this release, multiline matching (Pattern.MULTILINE)
|
||||
and dotall mode (Pattern.DOTALL) are used by default, so that ^ and $
|
||||
match the beginning and end of any lines found in the source,
|
||||
and the . operator will also pick up newline characters.
|
||||
|
||||
+ Removed MACOS9 constant from processing.core.PConstants. Bye bye 2001.
|
||||
|
||||
+ Deprecated the NORMALIZED constant, use NORMAL instead.
|
||||
|
||||
+ Removed some items from the default imports because they're 1) likely
|
||||
to cause naming collisions and 2) more likely to be used by advanced
|
||||
users (who can add 'em themselves anyway). The removed items include:
|
||||
javax.sound.midi,javax.sound.midi.spi,
|
||||
javax.sound.sampled,javax.sound.sampled.spi,
|
||||
javax.xml.parsers,javax.xml.transform,javax.xml.transform.dom,
|
||||
javax.xml.transform.sax,javax.xml.transform.stream,
|
||||
org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers
|
||||
You can add default imports to your preferences.txt file by adding to
|
||||
the preproc.imports line. But keep in mind that this will make your
|
||||
code incompatible with Processing on any machine that doesn't have
|
||||
its preferences.txt mangled in the same manner.
|
||||
|
||||
+ Update Quaqua to 4.4.7 on Mac OS X (http://www.randelshofer.ch/quaqua/)
|
||||
|
||||
+ Disable abyssmally slow Sun renderer on OS X 10.5, by setting
|
||||
apple.awt.graphics.UseQuartz to true inside PApplet.main().
|
||||
|
||||
[ bug fixes ]
|
||||
|
||||
+ Prevent caps/joins from throwing an error and halting the render.
|
||||
This was a problem when drawing SVG files with OpenGL:
|
||||
http://dev.processing.org/bugs/show_bug.cgi?id=628
|
||||
However, complex shapes or shapes with holes will produce an error in OpenGL:
|
||||
http://dev.processing.org/bugs/show_bug.cgi?id=947
|
||||
|
||||
+ The point() command should now work always and consistently
|
||||
in OpenGL as well as Java 2D.
|
||||
http://dev.processing.org/bugs/show_bug.cgi?id=121
|
||||
@@ -66,44 +139,16 @@ Also many updates to the examples in this release.
|
||||
been seen or confirmed recently, closing it.
|
||||
http://dev.processing.org/bugs/show_bug.cgi?id=56
|
||||
|
||||
[ changes ]
|
||||
+ Add additional newline hack so that Auto Format has less errors.
|
||||
|
||||
+ Change how PGraphics objects are created for better consistency. Sadly,
|
||||
this will require any libraries that subclass PGraphics to be rebuilt
|
||||
for this release. (However, internally it's a great improvement.)
|
||||
Renderer library authors please read the reference for PGraphics:
|
||||
http://dev.processing.org/reference/core/javadoc/processing/core/PGraphics.html
|
||||
+ Fix video capture problems with OpenGL on Mac OS X.
|
||||
http://dev.processing.org/bugs/show_bug.cgi?id=882
|
||||
|
||||
+ Altered how createInput(), save(), and saveFrame() work so that they
|
||||
are more friendly to signed applets.
|
||||
+ Sketch export results in 100x100 default size, regardless of size() setting
|
||||
http://dev.processing.org/bugs/show_bug.cgi?id=945
|
||||
|
||||
+ The unhint() method has been removed, see the hint() reference for changes.
|
||||
|
||||
+ Changes to how match() works to bring back in line with other regexp
|
||||
implementations. Instead of only returning matching groups, match 0
|
||||
is the matching sequence, and array elements [1] and higher represent
|
||||
each of the groups (sequences found in parens).
|
||||
Also starting in this release, multiline matching (Pattern.MULTILINE)
|
||||
and dotall mode (Pattern.DOTALL) are used by default, so that ^ and $
|
||||
match the beginning and end of any lines found in the source,
|
||||
and the . operator will also pick up newline characters.
|
||||
|
||||
+ Removed MACOS9 constant from processing.core.PConstants. Bye bye 2001.
|
||||
|
||||
+ Removed some items from the default imports because they're 1) likely
|
||||
to cause naming collisions and 2) more likely to be used by advanced
|
||||
users (who can add 'em themselves anyway). The removed items include:
|
||||
javax.sound.midi,javax.sound.midi.spi,
|
||||
javax.sound.sampled,javax.sound.sampled.spi,
|
||||
javax.xml.parsers,javax.xml.transform,javax.xml.transform.dom,
|
||||
javax.xml.transform.sax,javax.xml.transform.stream,
|
||||
org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers
|
||||
You can add default imports to your preferences.txt file by adding to
|
||||
the preproc.imports line. But keep in mind that this will make your
|
||||
code incompatible with Processing on any machine that doesn't have
|
||||
its preferences.txt mangled in the same manner.
|
||||
|
||||
+ Update Quaqua to 4.4.7 on Mac OS X (http://www.randelshofer.ch/quaqua/)
|
||||
+ Fix case where creating a new tab throws a NullPointerException.
|
||||
http://dev.processing.org/bugs/show_bug.cgi?id=940
|
||||
|
||||
[ additions ]
|
||||
|
||||
|
||||
@@ -6289,6 +6289,9 @@ public class PApplet extends Applet
|
||||
* </PRE>
|
||||
*/
|
||||
static public void main(String args[]) {
|
||||
// Disable abyssmally slow Sun renderer on OS X 10.5.
|
||||
System.setProperty("apple.awt.graphics.UseQuartz", "true");
|
||||
|
||||
if (args.length < 1) {
|
||||
System.err.println("Usage: PApplet <appletname>");
|
||||
System.err.println("For additional options, " +
|
||||
@@ -7287,6 +7290,11 @@ public class PApplet extends Applet
|
||||
}
|
||||
|
||||
|
||||
public PMatrix getMatrix() {
|
||||
return g.getMatrix();
|
||||
}
|
||||
|
||||
|
||||
public PMatrix2D getMatrix(PMatrix2D target) {
|
||||
return g.getMatrix(target);
|
||||
}
|
||||
@@ -7297,6 +7305,12 @@ public class PApplet extends Applet
|
||||
}
|
||||
|
||||
|
||||
public void setMatrix(PMatrix source) {
|
||||
if (recorder != null) recorder.setMatrix(source);
|
||||
g.setMatrix(source);
|
||||
}
|
||||
|
||||
|
||||
public void setMatrix(PMatrix2D source) {
|
||||
if (recorder != null) recorder.setMatrix(source);
|
||||
g.setMatrix(source);
|
||||
|
||||
@@ -1119,9 +1119,11 @@ public class PGraphics extends PImage implements PConstants {
|
||||
else if (textureV > 1) textureV = 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/** This feature is in testing, do not use or rely upon its implementation */
|
||||
public void breakShape() {
|
||||
showWarning("This renderer cannot currently handle concave shapes, " +
|
||||
"or shapes with holes.");
|
||||
}
|
||||
|
||||
|
||||
@@ -1155,6 +1157,7 @@ public class PGraphics extends PImage implements PConstants {
|
||||
public void bezierVertex(float x2, float y2,
|
||||
float x3, float y3,
|
||||
float x4, float y4) {
|
||||
bezierInitCheck();
|
||||
bezierVertexCheck();
|
||||
PMatrix3D draw = bezierDrawMatrix;
|
||||
|
||||
@@ -1181,6 +1184,7 @@ public class PGraphics extends PImage implements PConstants {
|
||||
public void bezierVertex(float x2, float y2, float z2,
|
||||
float x3, float y3, float z3,
|
||||
float x4, float y4, float z4) {
|
||||
bezierInitCheck();
|
||||
bezierVertexCheck();
|
||||
PMatrix3D draw = bezierDrawMatrix;
|
||||
|
||||
@@ -1965,7 +1969,8 @@ public class PGraphics extends PImage implements PConstants {
|
||||
|
||||
protected void bezierInit() {
|
||||
// overkill to be broken out, but better parity with the curve stuff below
|
||||
bezierDetail(bezierDetail);
|
||||
bezierDetail(bezierDetail);
|
||||
bezierInited = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1984,8 +1989,6 @@ public class PGraphics extends PImage implements PConstants {
|
||||
//mult_spline_matrix(bezierForwardMatrix, bezier_basis, bezierDrawMatrix, 4);
|
||||
//bezierDrawMatrix.set(bezierForwardMatrix);
|
||||
bezierDrawMatrix.apply(bezierBasisMatrix);
|
||||
|
||||
bezierInited = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
+32
-37
@@ -48,6 +48,8 @@ X this is an opengl restriction, should we stick with it elsewhere?
|
||||
X and changing stroke weight in general (with lines/shapes)
|
||||
o no renderer does this, we should probably disable it
|
||||
X added a note to the reference about it
|
||||
X may need to add to PApplet.main() for OS X 10.5
|
||||
X System.setProperty("apple.awt.graphics.UseQuartz", "true");
|
||||
|
||||
cleaning
|
||||
o chooseFile() and chooseFolder() with named fxn callbacks
|
||||
@@ -96,52 +98,45 @@ X in case the hint() has been enabled in the meantime
|
||||
X or rather, always load native font, even w/o the hint() being set
|
||||
|
||||
PGraphics API changes
|
||||
setMainDrawingSurface() -> setPrimarySurface()
|
||||
mainDrawingSurface = primarySurface;
|
||||
resize() -> setSize() (roughly)
|
||||
endShape() with no params is no longer 'final'
|
||||
X/Y/Z -> TX/TY/TZ
|
||||
MX/MY/MZ -> X/Y/Z (for sake of PShape)
|
||||
render_triangles -> renderTriangles()
|
||||
depth_sort_triangles -> sortTriangles()
|
||||
render_lines -> renderLines()
|
||||
depth_sort_lines -> sortLines()
|
||||
no longer any abstract methods in PGraphics itself
|
||||
removed support for specular alpha (and its 'SPA' constant)
|
||||
clear() -> backgroundImpl()
|
||||
add DIAMETER as synonym for CENTER for ellipseMode and friends
|
||||
textFontNative and textFontNativeMetrics have been removed
|
||||
they require a font rendering context on which to draw
|
||||
and were a weird sort of hack
|
||||
see how the classes implement them now
|
||||
hint(ENABLE_NATIVE_FONTS) goes away
|
||||
need to mention in createFont() reference
|
||||
also maybe cover in the loadFont() reference? (maybe problem...)
|
||||
image.cache has been removed, replaced with get/set/removeCache()
|
||||
this allows per-renderer image cache data to be stored
|
||||
removed textFontNative and textFontNativeMetrics carp
|
||||
imageMode ignored for get(), set(), blend() and copy()
|
||||
smooth is now part of PGraphics, moved out of PImage
|
||||
imageMode has been removed from PImage, too awkward
|
||||
raw must handle points, lines, triangles, and textures
|
||||
light position and normal are now PVector object
|
||||
change NORMALIZED to NORMAL for textureMode()
|
||||
X setMainDrawingSurface() -> setPrimarySurface()
|
||||
X mainDrawingSurface = primarySurface;
|
||||
X resize() -> setSize() (roughly)
|
||||
X endShape() with no params is no longer 'final'
|
||||
X X/Y/Z -> TX/TY/TZ
|
||||
X MX/MY/MZ -> X/Y/Z (for sake of PShape)
|
||||
X render_triangles -> renderTriangles()
|
||||
X depth_sort_triangles -> sortTriangles()
|
||||
X render_lines -> renderLines()
|
||||
X depth_sort_lines -> sortLines()
|
||||
X no longer any abstract methods in PGraphics itself
|
||||
X removed support for specular alpha (and its 'SPA' constant)
|
||||
X clear() -> backgroundImpl()
|
||||
X add DIAMETER as synonym for CENTER for ellipseMode and friends
|
||||
X textFontNative and textFontNativeMetrics have been removed
|
||||
X they've been re-implemented per-PGraphics in a less hacky way
|
||||
X hint(ENABLE_NATIVE_FONTS) goes away
|
||||
X need to mention in createFont() reference
|
||||
X also maybe cover in the loadFont() reference? (maybe problem...)
|
||||
X image.cache has been removed, replaced with get/set/removeCache()
|
||||
X this allows per-renderer image cache data to be stored
|
||||
X imageMode has been removed from PImage, too awkward
|
||||
X this also means that imageMode ignored for get(), set(), blend() and copy()
|
||||
X smooth is now part of PGraphics, moved out of PImage
|
||||
X raw must handle points, lines, triangles, and textures
|
||||
X light position and normal are now PVector object
|
||||
X changed NORMALIZED to NORMAL for textureMode()
|
||||
|
||||
|
||||
_ may need to add to PApplet.main() for OS X 10.5
|
||||
_ System.setProperty("apple.awt.graphics.UseQuartz","true");
|
||||
|
||||
svg/pshape/pgraphics priority before 0149
|
||||
shapes
|
||||
X maybe finish off the svg crap for this release
|
||||
X working on pshape
|
||||
X add shape() methods to PGraphics/PApplet
|
||||
X test and fix svg examples
|
||||
_ revisions.txt for x/y/z/ tx/ty/tz.. other changes in api.txt
|
||||
X revisions.txt for x/y/z/ tx/ty/tz.. other changes in api.txt
|
||||
X bring svg into main lib
|
||||
X need to straighten out 'table' object for quick object lookup
|
||||
X maybe add to all parent tables? (no, this gets enormous quickly)
|
||||
X fix svg caps/joins for opengl with svg library
|
||||
_ http://dev.processing.org/bugs/show_bug.cgi?id=628
|
||||
X http://dev.processing.org/bugs/show_bug.cgi?id=628
|
||||
X save/restore more of the p5 graphics drawing state
|
||||
X not setting colorMode(), strokeCap, etc.
|
||||
X ignoreStyles is broken - how to handle
|
||||
|
||||
@@ -1874,8 +1874,8 @@ public class PGraphicsOpenGL extends PGraphics3D {
|
||||
//////////////////////////////////////////////////////////////
|
||||
|
||||
// STROKE CAP/JOIN/WEIGHT
|
||||
|
||||
|
||||
|
||||
|
||||
public void strokeWeight(float weight) {
|
||||
this.strokeWeight = weight;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user