picrate 2.0.1-java → 2.3.0-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.mvn/extensions.xml +1 -1
- data/.mvn/wrapper/MavenWrapperDownloader.java +1 -1
- data/.mvn/wrapper/maven-wrapper.properties +2 -2
- data/CHANGELOG.md +10 -0
- data/README.md +6 -3
- data/Rakefile +2 -1
- data/docs/_includes/footer.html +1 -1
- data/docs/_layouts/post.html +1 -1
- data/docs/_methods/alternative_methods.md +2 -1
- data/docs/_methods/noise_mode.md +88 -0
- data/docs/_posts/2018-05-06-install_jruby.md +3 -3
- data/docs/_posts/2018-11-18-building-gem.md +3 -1
- data/docs/_posts/2020-03-09-auto_install_picrate.md +2 -3
- data/docs/_posts/2020-05-11-getting_started_manjaro.md +20 -8
- data/docs/classes.md +2 -2
- data/docs/editors.md +2 -2
- data/docs/gems.md +3 -3
- data/docs/index.html +1 -1
- data/docs/libraries.md +2 -2
- data/docs/live.md +2 -2
- data/docs/magic.md +2 -2
- data/docs/methods.md +2 -2
- data/docs/modules.md +3 -3
- data/docs/objects.md +2 -2
- data/lib/picrate.rb +2 -1
- data/lib/picrate/app.rb +7 -2
- data/lib/picrate/helper_methods.rb +1 -1
- data/lib/picrate/native_folder.rb +1 -3
- data/lib/picrate/runner.rb +4 -4
- data/lib/picrate/version.rb +1 -1
- data/library/jcomplex/jcomplex.rb +1 -0
- data/library/pdf/pdf.rb +6 -0
- data/mvnw +2 -2
- data/mvnw.cmd +2 -2
- data/picrate.gemspec +3 -2
- data/pom.rb +22 -8
- data/pom.xml +27 -5
- data/src/main/java/monkstone/PicrateLibrary.java +1 -1
- data/src/main/java/monkstone/complex/JComplex.java +252 -0
- data/src/main/java/monkstone/fastmath/DegLutTables.java +111 -0
- data/src/main/java/monkstone/fastmath/Deglut.java +41 -93
- data/src/main/java/monkstone/noise/FastTerrain.java +874 -0
- data/src/main/java/monkstone/noise/Noise.java +90 -0
- data/src/main/java/monkstone/noise/NoiseGenerator.java +75 -0
- data/src/main/java/monkstone/noise/NoiseMode.java +28 -0
- data/src/main/java/monkstone/noise/OpenSimplex2F.java +881 -0
- data/src/main/java/monkstone/noise/OpenSimplex2S.java +1106 -0
- data/src/main/java/monkstone/noise/SmoothTerrain.java +1099 -0
- data/src/main/java/monkstone/vecmath/package-info.java +1 -1
- data/src/main/java/monkstone/vecmath/vec3/Vec3.java +1 -1
- data/src/main/java/monkstone/videoevent/package-info.java +1 -1
- data/src/main/java/processing/awt/PGraphicsJava2D.java +22 -23
- data/src/main/java/processing/awt/PImageAWT.java +377 -0
- data/src/main/java/processing/awt/ShimAWT.java +711 -0
- data/src/main/java/processing/core/PApplet.java +14880 -14101
- data/src/main/java/processing/core/PConstants.java +5 -5
- data/src/main/java/processing/core/PFont.java +1 -1
- data/src/main/java/processing/core/PGraphics.java +284 -271
- data/src/main/java/processing/core/PImage.java +1620 -1815
- data/src/main/java/processing/core/PShape.java +18 -18
- data/src/main/java/processing/core/PSurface.java +105 -139
- data/src/main/java/processing/core/PSurfaceNone.java +29 -0
- data/src/main/java/processing/core/PVector.java +23 -23
- data/src/main/java/processing/data/Table.java +4 -4
- data/src/main/java/processing/net/Client.java +13 -13
- data/src/main/java/processing/net/Server.java +5 -5
- data/src/main/java/processing/opengl/PGL.java +649 -3699
- data/src/main/java/processing/opengl/PGraphicsOpenGL.java +2503 -2278
- data/src/main/java/processing/opengl/PJOGL.java +374 -1526
- data/src/main/java/processing/opengl/PSurfaceJOGL.java +220 -86
- data/src/main/java/processing/pdf/PGraphicsPDF.java +607 -0
- data/test/deglut_spec_test.rb +2 -2
- data/test/respond_to_test.rb +0 -1
- data/vendors/Rakefile +33 -21
- data/vendors/{picrate_sketches.geany → geany.rb} +32 -7
- metadata +24 -9
- data/src/main/java/monkstone/noise/SimplexNoise.java +0 -465
@@ -207,7 +207,7 @@ public interface PConstants {
|
|
207
207
|
* useful in combination with the trigonometric functions <b>sin()</b> and
|
208
208
|
* <b>cos()</b>.
|
209
209
|
*
|
210
|
-
|
210
|
+
|
211
211
|
*
|
212
212
|
* @webref constants
|
213
213
|
* @see PConstants#TWO_PI
|
@@ -225,7 +225,7 @@ public interface PConstants {
|
|
225
225
|
* is useful in combination with the trigonometric functions <b>sin()</b>
|
226
226
|
* and <b>cos()</b>.
|
227
227
|
*
|
228
|
-
|
228
|
+
|
229
229
|
*
|
230
230
|
* @webref constants
|
231
231
|
* @see PConstants#PI
|
@@ -247,7 +247,7 @@ public interface PConstants {
|
|
247
247
|
* useful in combination with the trigonometric functions
|
248
248
|
* <b>sin()</b> and <b>cos()</b>.
|
249
249
|
*
|
250
|
-
|
250
|
+
|
251
251
|
*
|
252
252
|
* @webref constants
|
253
253
|
* @see PConstants#PI
|
@@ -264,7 +264,7 @@ public interface PConstants {
|
|
264
264
|
* It is useful in combination with the trigonometric functions
|
265
265
|
* <b>sin()</b> and <b>cos()</b>.
|
266
266
|
*
|
267
|
-
|
267
|
+
|
268
268
|
*
|
269
269
|
* @webref constants
|
270
270
|
* @see PConstants#PI
|
@@ -281,7 +281,7 @@ public interface PConstants {
|
|
281
281
|
* circle to its diameter. It is useful in combination with the
|
282
282
|
* trigonometric functions <b>sin()</b> and <b>cos()</b>.
|
283
283
|
*
|
284
|
-
|
284
|
+
|
285
285
|
*
|
286
286
|
* @webref constants
|
287
287
|
* @see PConstants#PI
|
@@ -186,7 +186,7 @@ public class PFont implements PConstants {
|
|
186
186
|
* <b>createFont()</b> function for dynamically converting fonts into a format
|
187
187
|
* to use with Processing.
|
188
188
|
*
|
189
|
-
|
189
|
+
|
190
190
|
*
|
191
191
|
* @nowebref
|
192
192
|
* @param font font the font object to create from
|
@@ -45,7 +45,6 @@ import java.util.concurrent.Executors;
|
|
45
45
|
import java.util.concurrent.Future;
|
46
46
|
import java.util.concurrent.RejectedExecutionException;
|
47
47
|
import java.util.concurrent.TimeUnit;
|
48
|
-
|
49
48
|
import processing.opengl.PGL;
|
50
49
|
import processing.opengl.PShader;
|
51
50
|
|
@@ -61,7 +60,7 @@ import processing.opengl.PShader;
|
|
61
60
|
* methods for this class are extensive. For a complete list, visit the <a
|
62
61
|
* href="http://processing.googlecode.com/svn/trunk/processing/build/javadoc/core/">developer's reference.</a>
|
63
62
|
*
|
64
|
-
|
63
|
+
|
65
64
|
*
|
66
65
|
* <h3>Advanced</h3>
|
67
66
|
* Main graphics and rendering context, as well as the base API implementation.
|
@@ -174,7 +173,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
174
173
|
|
175
174
|
/// the anti-aliasing level for renderers that support it
|
176
175
|
public int smooth;
|
177
|
-
|
176
|
+
|
178
177
|
|
179
178
|
// ........................................................
|
180
179
|
|
@@ -570,7 +569,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
570
569
|
|
571
570
|
// vertices
|
572
571
|
public static final int DEFAULT_VERTICES = 512;
|
573
|
-
protected float
|
572
|
+
protected float[][] vertices =
|
574
573
|
new float[DEFAULT_VERTICES][VERTEX_FIELD_COUNT];
|
575
574
|
protected int vertexCount; // total number of vertices
|
576
575
|
|
@@ -605,7 +604,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
605
604
|
|
606
605
|
// spline vertices
|
607
606
|
|
608
|
-
protected float
|
607
|
+
protected float[][] curveVertices;
|
609
608
|
protected int curveVertexCount;
|
610
609
|
|
611
610
|
// ........................................................
|
@@ -618,18 +617,18 @@ public class PGraphics extends PImage implements PConstants {
|
|
618
617
|
// [toxi 031031]
|
619
618
|
// changed table's precision to 0.5 degree steps
|
620
619
|
// introduced new vars for more flexible code
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
620
|
+
static final protected float[] sinLUT;
|
621
|
+
static final protected float[] cosLUT;
|
622
|
+
static final protected float SINCOS_PRECISION = 0.5f;
|
623
|
+
static final protected int SINCOS_LENGTH = (int) (360f / SINCOS_PRECISION);
|
624
|
+
static {
|
625
|
+
sinLUT = new float[SINCOS_LENGTH];
|
626
|
+
cosLUT = new float[SINCOS_LENGTH];
|
627
|
+
for (int i = 0; i < SINCOS_LENGTH; i++) {
|
628
|
+
sinLUT[i] = (float) Math.sin(Math.toRadians(i * SINCOS_PRECISION));
|
629
|
+
cosLUT[i] = (float) Math.cos(Math.toRadians(i * SINCOS_PRECISION));
|
630
|
+
}
|
631
|
+
}
|
633
632
|
|
634
633
|
// ........................................................
|
635
634
|
|
@@ -702,7 +701,9 @@ public class PGraphics extends PImage implements PConstants {
|
|
702
701
|
|
703
702
|
// [toxi031031] new & faster sphere code w/ support flexible resolutions
|
704
703
|
// will be set by sphereDetail() or 1st call to sphere()
|
705
|
-
protected float
|
704
|
+
protected float[] sphereX;
|
705
|
+
protected float[] sphereY;
|
706
|
+
protected float[] sphereZ;
|
706
707
|
|
707
708
|
/// Number of U steps (aka "theta") around longitudinally spanning 2*pi
|
708
709
|
public int sphereDetailU = 0;
|
@@ -765,15 +766,14 @@ public class PGraphics extends PImage implements PConstants {
|
|
765
766
|
|
766
767
|
|
767
768
|
/**
|
768
|
-
* The final step in setting up a renderer, set its size of this renderer.
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
|
774
|
-
*
|
775
|
-
*
|
776
|
-
* animation thread.
|
769
|
+
* The final step in setting up a renderer, set its size of this renderer.This was formerly handled by the constructor, but instead it's been broken
|
770
|
+
out so that setParent/setPrimary/setPath can be handled differently.Important: this is ignored by the Methods task because otherwise it will
|
771
|
+
override setSize() in PApplet/Applet/Component, which will 1) not call
|
772
|
+
super.setSize(), and 2) will cause the renderer to be resized from the
|
773
|
+
event thread (EDT), causing a nasty crash as it collides with the
|
774
|
+
animation thread.
|
775
|
+
* @param w
|
776
|
+
* @param h
|
777
777
|
*/
|
778
778
|
public void setSize(int w, int h) { // ignore
|
779
779
|
width = w;
|
@@ -842,10 +842,11 @@ public class PGraphics extends PImage implements PConstants {
|
|
842
842
|
|
843
843
|
|
844
844
|
/**
|
845
|
-
* Get cache storage data for the specified renderer.
|
846
|
-
|
847
|
-
|
848
|
-
|
845
|
+
* Get cache storage data for the specified renderer.Because each renderer
|
846
|
+
will cache data in different formats, it's necessary to store cache data
|
847
|
+
keyed by the renderer object. Otherwise, attempting to draw the same
|
848
|
+
image to both a PGraphicsJava2D and a PGraphicsOpenGL will cause errors.
|
849
|
+
* @param image
|
849
850
|
* @return metadata stored for the specified renderer
|
850
851
|
*/
|
851
852
|
public Object getCache(PImage image) { // ignore
|
@@ -892,7 +893,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
892
893
|
* Sets the default properties for a PGraphics object. It should be called
|
893
894
|
* before anything is drawn into the object.
|
894
895
|
*
|
895
|
-
|
896
|
+
|
896
897
|
* <h3>Advanced</h3>
|
897
898
|
* When creating your own PGraphics, you should call this before
|
898
899
|
* drawing anything.
|
@@ -909,7 +910,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
909
910
|
*
|
910
911
|
* Finalizes the rendering of a PGraphics object so that it can be shown on screen.
|
911
912
|
*
|
912
|
-
|
913
|
+
|
913
914
|
* <h3>Advanced</h3>
|
914
915
|
*
|
915
916
|
* When creating your own PGraphics, you should call this when
|
@@ -1088,7 +1089,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
1088
1089
|
* obscure rendering features that cannot be implemented in a consistent
|
1089
1090
|
* manner across renderers. Many options will often graduate to standard
|
1090
1091
|
* features instead of hints over time.
|
1091
|
-
*
|
1092
|
+
*
|
1092
1093
|
* hint(ENABLE_OPENGL_4X_SMOOTH) - Enable 4x anti-aliasing for P3D. This
|
1093
1094
|
* can help force anti-aliasing if it has not been enabled by the user. On
|
1094
1095
|
* some graphics cards, this can also be set by the graphics driver's
|
@@ -1096,13 +1097,13 @@ public class PGraphics extends PImage implements PConstants {
|
|
1096
1097
|
* be called immediately after the size() command because it resets the
|
1097
1098
|
* renderer, obliterating any settings and anything drawn (and like size(),
|
1098
1099
|
* re-running the code that came before it again).
|
1099
|
-
*
|
1100
|
+
*
|
1100
1101
|
* hint(DISABLE_OPENGL_2X_SMOOTH) - In Processing 1.0, Processing always
|
1101
1102
|
* enables 2x smoothing when the P3D renderer is used. This hint disables
|
1102
1103
|
* the default 2x smoothing and returns the smoothing behavior found in
|
1103
1104
|
* earlier releases, where smooth() and noSmooth() could be used to enable
|
1104
1105
|
* and disable smoothing, though the quality was inferior.
|
1105
|
-
*
|
1106
|
+
*
|
1106
1107
|
* hint(ENABLE_NATIVE_FONTS) - Use the native version fonts when they are
|
1107
1108
|
* installed, rather than the bitmapped version from a .vlw file. This is
|
1108
1109
|
* useful with the default (or JAVA2D) renderer setting, as it will improve
|
@@ -1111,7 +1112,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
1111
1112
|
* machine (because you have the font installed) but lousy on others'
|
1112
1113
|
* machines if the identical font is unavailable. This option can only be
|
1113
1114
|
* set per-sketch, and must be called before any use of textFont().
|
1114
|
-
*
|
1115
|
+
*
|
1115
1116
|
* hint(DISABLE_DEPTH_TEST) - Disable the zbuffer, allowing you to draw on
|
1116
1117
|
* top of everything at will. When depth testing is disabled, items will be
|
1117
1118
|
* drawn to the screen sequentially, like a painting. This hint is most
|
@@ -1121,14 +1122,14 @@ public class PGraphics extends PImage implements PConstants {
|
|
1121
1122
|
* hint(ENABLE_DEPTH_TEST), but note that with the depth buffer cleared,
|
1122
1123
|
* any 3D drawing that happens later in draw() will ignore existing shapes
|
1123
1124
|
* on the screen.
|
1124
|
-
*
|
1125
|
+
*
|
1125
1126
|
* hint(ENABLE_DEPTH_SORT) - Enable primitive z-sorting of triangles and
|
1126
1127
|
* lines in P3D and OPENGL. This can slow performance considerably, and the
|
1127
1128
|
* algorithm is not yet perfect. Restore the default with hint(DISABLE_DEPTH_SORT).
|
1128
|
-
*
|
1129
|
+
*
|
1129
1130
|
* hint(DISABLE_OPENGL_ERROR_REPORT) - Speeds up the P3D renderer setting
|
1130
1131
|
* by not checking for errors while running. Undo with hint(ENABLE_OPENGL_ERROR_REPORT).
|
1131
|
-
*
|
1132
|
+
*
|
1132
1133
|
* hint(ENABLE_BUFFER_READING) - Depth and stencil buffers in P2D/P3D will be
|
1133
1134
|
* downsampled to make PGL#readPixels work with multisampling. Enabling this
|
1134
1135
|
* introduces some overhead, so if you experience bad performance, disable
|
@@ -1137,23 +1138,23 @@ public class PGraphics extends PImage implements PConstants {
|
|
1137
1138
|
* creating your PGraphics2D/3D. You can restore the default with
|
1138
1139
|
* hint(DISABLE_BUFFER_READING) if you don't plan to read depth from
|
1139
1140
|
* this PGraphics anymore.
|
1140
|
-
*
|
1141
|
+
*
|
1141
1142
|
* hint(ENABLE_KEY_REPEAT) - Auto-repeating key events are discarded
|
1142
1143
|
* by default (works only in P2D/P3D); use this hint to get all the key events
|
1143
1144
|
* (including auto-repeated). Call hint(DISABLE_KEY_REPEAT) to get events
|
1144
1145
|
* only when the key goes physically up or down.
|
1145
|
-
*
|
1146
|
+
*
|
1146
1147
|
* hint(DISABLE_ASYNC_SAVEFRAME) - P2D/P3D only - save() and saveFrame()
|
1147
1148
|
* will not use separate threads for saving and will block until the image
|
1148
1149
|
* is written to the drive. This was the default behavior in 3.0b7 and before.
|
1149
1150
|
* To enable, call hint(ENABLE_ASYNC_SAVEFRAME).
|
1150
|
-
*
|
1151
|
+
*
|
1151
1152
|
* As of release 0149, unhint() has been removed in favor of adding
|
1152
1153
|
* additional ENABLE/DISABLE constants to reset the default behavior. This
|
1153
|
-
* prevents the
|
1154
|
+
* prevents the float negatives, and also reinforces which hints can be
|
1154
1155
|
* enabled or disabled.
|
1155
1156
|
*
|
1156
|
-
|
1157
|
+
|
1157
1158
|
*
|
1158
1159
|
* @webref rendering
|
1159
1160
|
* @param which name of the hint to be enabled or disabled
|
@@ -1209,19 +1210,19 @@ public class PGraphics extends PImage implements PConstants {
|
|
1209
1210
|
* specifies a position in 2D and the <b>vertex()</b> function with three
|
1210
1211
|
* parameters specifies a position in 3D. Each shape will be outlined with
|
1211
1212
|
* the current stroke color and filled with the fill color.
|
1212
|
-
*
|
1213
|
+
*
|
1213
1214
|
* Transformations such as <b>translate()</b>, <b>rotate()</b>, and
|
1214
1215
|
* <b>scale()</b> do not work within <b>beginShape()</b>. It is also not
|
1215
1216
|
* possible to use other shapes, such as <b>ellipse()</b> or <b>rect()</b>
|
1216
1217
|
* within <b>beginShape()</b>.
|
1217
|
-
*
|
1218
|
+
*
|
1218
1219
|
* The P3D renderer settings allow <b>stroke()</b> and <b>fill()</b>
|
1219
1220
|
* settings to be altered per-vertex, however the default P2D renderer does
|
1220
1221
|
* not. Settings such as <b>strokeWeight()</b>, <b>strokeCap()</b>, and
|
1221
1222
|
* <b>strokeJoin()</b> cannot be changed while inside a
|
1222
1223
|
* <b>beginShape()</b>/<b>endShape()</b> block with any renderer.
|
1223
1224
|
*
|
1224
|
-
|
1225
|
+
|
1225
1226
|
* @webref shape:vertex
|
1226
1227
|
* @param kind Either POINTS, LINES, TRIANGLES, TRIANGLE_FAN, TRIANGLE_STRIP, QUADS, or QUAD_STRIP
|
1227
1228
|
* @see PShape
|
@@ -1236,8 +1237,8 @@ public class PGraphics extends PImage implements PConstants {
|
|
1236
1237
|
|
1237
1238
|
|
1238
1239
|
/**
|
1239
|
-
* Sets whether the upcoming vertex is part of an edge.
|
1240
|
-
*
|
1240
|
+
* Sets whether the upcoming vertex is part of an edge.Equivalent to glEdgeFlag(), for people familiar with OpenGL.
|
1241
|
+
* @param edge
|
1241
1242
|
*/
|
1242
1243
|
public void edge(boolean edge) {
|
1243
1244
|
this.edge = edge;
|
@@ -1254,7 +1255,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
1254
1255
|
* imperfect, this is a better option when you want more control. This
|
1255
1256
|
* function is identical to glNormal3f() in OpenGL.
|
1256
1257
|
*
|
1257
|
-
|
1258
|
+
|
1258
1259
|
* @webref lights_camera:lights
|
1259
1260
|
* @param nx x direction
|
1260
1261
|
* @param ny y direction
|
@@ -1323,7 +1324,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
1323
1324
|
* the points (0,0) (0,100) (100,200) (0,200). The same mapping in
|
1324
1325
|
* NORMAL_SPACE is (0,0) (0,1) (1,1) (0,1).
|
1325
1326
|
*
|
1326
|
-
|
1327
|
+
|
1327
1328
|
* @webref image:textures
|
1328
1329
|
* @param mode either IMAGE or NORMAL
|
1329
1330
|
* @see PGraphics#texture(PImage)
|
@@ -1359,11 +1360,11 @@ public class PGraphics extends PImage implements PConstants {
|
|
1359
1360
|
* Sets a texture to be applied to vertex points. The <b>texture()</b>
|
1360
1361
|
* function must be called between <b>beginShape()</b> and
|
1361
1362
|
* <b>endShape()</b> and before any calls to <b>vertex()</b>.
|
1362
|
-
*
|
1363
|
+
*
|
1363
1364
|
* When textures are in use, the fill color is ignored. Instead, use tint()
|
1364
1365
|
* to specify the color of the texture as it is applied to the shape.
|
1365
1366
|
*
|
1366
|
-
|
1367
|
+
|
1367
1368
|
* @webref image:textures
|
1368
1369
|
* @param image reference to a PImage object
|
1369
1370
|
* @see PGraphics#textureMode(int)
|
@@ -1389,7 +1390,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
1389
1390
|
|
1390
1391
|
protected void vertexCheck() {
|
1391
1392
|
if (vertexCount == vertices.length) {
|
1392
|
-
float
|
1393
|
+
float[][] temp = new float[vertexCount << 1][VERTEX_FIELD_COUNT];
|
1393
1394
|
System.arraycopy(vertices, 0, temp, 0, vertexCount);
|
1394
1395
|
vertices = temp;
|
1395
1396
|
}
|
@@ -1481,7 +1482,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
1481
1482
|
// http://dev.processing.org/bugs/show_bug.cgi?id=444
|
1482
1483
|
if (shape == POLYGON) {
|
1483
1484
|
if (vertexCount > 0) {
|
1484
|
-
float
|
1485
|
+
float[] pvertex = vertices[vertexCount-1];
|
1485
1486
|
if ((Math.abs(pvertex[X] - x) < EPSILON) &&
|
1486
1487
|
(Math.abs(pvertex[Y] - y) < EPSILON) &&
|
1487
1488
|
(Math.abs(pvertex[Z] - z) < EPSILON)) {
|
@@ -1607,10 +1608,10 @@ public class PGraphics extends PImage implements PConstants {
|
|
1607
1608
|
* <b>vertex()</b> is used to specify the vertex coordinates for points,
|
1608
1609
|
* lines, triangles, quads, and polygons and is used exclusively within the
|
1609
1610
|
* <b>beginShape()</b> and <b>endShape()</b> function.
|
1610
|
-
*
|
1611
|
+
*
|
1611
1612
|
* Drawing a vertex in 3D using the <b>z</b> parameter requires the P3D
|
1612
1613
|
* parameter in combination with size as shown in the above example.
|
1613
|
-
*
|
1614
|
+
*
|
1614
1615
|
* This function is also used to map a texture onto the geometry. The
|
1615
1616
|
* <b>texture()</b> function declares the texture to apply to the geometry
|
1616
1617
|
* and the <b>u</b> and <b>v</b> coordinates set define the mapping of this
|
@@ -1618,7 +1619,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
1618
1619
|
* <b>v</b> are specified in relation to the image's size in pixels, but
|
1619
1620
|
* this relation can be changed with <b>textureMode()</b>.
|
1620
1621
|
*
|
1621
|
-
|
1622
|
+
|
1622
1623
|
* @webref shape:vertex
|
1623
1624
|
* @param x x-coordinate of the vertex
|
1624
1625
|
* @param y y-coordinate of the vertex
|
@@ -1648,18 +1649,18 @@ public class PGraphics extends PImage implements PConstants {
|
|
1648
1649
|
|
1649
1650
|
|
1650
1651
|
/**
|
1651
|
-
* Set (U, V) coords for the next vertex in the current shape.
|
1652
|
-
|
1653
|
-
|
1654
|
-
|
1655
|
-
* param of and overloaded vertex().
|
1656
|
-
*
|
1652
|
+
* Set (U, V) coords for the next vertex in the current shape.This is ugly as its own function, and will (almost?) always be
|
1653
|
+
coincident with a call to vertex.As of beta, this was moved to
|
1654
|
+
the protected method you see here, and called from an optional
|
1655
|
+
param of and overloaded vertex().
|
1657
1656
|
* The parameters depend on the current textureMode. When using
|
1658
|
-
|
1659
|
-
|
1660
|
-
|
1661
|
-
|
1662
|
-
|
1657
|
+
textureMode(IMAGE), the coordinates will be relative to the size
|
1658
|
+
of the image texture, when used with textureMode(NORMAL),
|
1659
|
+
they'll be in the range 0..1.
|
1660
|
+
|
1661
|
+
Used by both PGraphics2D (for images) and PGraphics3D.
|
1662
|
+
* @param u
|
1663
|
+
* @param v
|
1663
1664
|
*/
|
1664
1665
|
protected void vertexTexture(float u, float v) {
|
1665
1666
|
if (textureImage == null) {
|
@@ -1719,13 +1720,12 @@ public class PGraphics extends PImage implements PConstants {
|
|
1719
1720
|
* as the value for the MODE parameter to close the shape (to connect the
|
1720
1721
|
* beginning and the end).
|
1721
1722
|
*
|
1722
|
-
|
1723
|
+
|
1723
1724
|
* @webref shape:vertex
|
1724
1725
|
* @param mode use CLOSE to close the shape
|
1725
1726
|
* @see PShape
|
1726
1727
|
* @see PGraphics#beginShape(int)
|
1727
1728
|
*/
|
1728
|
-
|
1729
1729
|
public void endShape(int mode) {
|
1730
1730
|
}
|
1731
1731
|
|
@@ -1737,6 +1737,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
1737
1737
|
|
1738
1738
|
|
1739
1739
|
/**
|
1740
|
+
* @return
|
1740
1741
|
* @webref shape
|
1741
1742
|
* @param filename name of file to load, can be .svg or .obj
|
1742
1743
|
* @see PShape
|
@@ -1888,7 +1889,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
1888
1889
|
*
|
1889
1890
|
* This is a new reference entry for Processing 2.0. It will be updated shortly.
|
1890
1891
|
*
|
1891
|
-
|
1892
|
+
|
1892
1893
|
*
|
1893
1894
|
* @webref rendering:shaders
|
1894
1895
|
* @param fragFilename name of fragment shader file
|
@@ -1913,7 +1914,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
1913
1914
|
*
|
1914
1915
|
* This is a new reference entry for Processing 2.0. It will be updated shortly.
|
1915
1916
|
*
|
1916
|
-
|
1917
|
+
|
1917
1918
|
*
|
1918
1919
|
* @webref rendering:shaders
|
1919
1920
|
* @param shader name of shader file
|
@@ -1936,7 +1937,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
1936
1937
|
*
|
1937
1938
|
* This is a new reference entry for Processing 2.0. It will be updated shortly.
|
1938
1939
|
*
|
1939
|
-
|
1940
|
+
|
1940
1941
|
*
|
1941
1942
|
* @webref rendering:shaders
|
1942
1943
|
*/
|
@@ -1973,7 +1974,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
1973
1974
|
* by the parameters. The boundaries are drawn based on the state
|
1974
1975
|
* of the <b>imageMode()</b> fuction, either CORNER, CORNERS, or CENTER.
|
1975
1976
|
*
|
1976
|
-
|
1977
|
+
|
1977
1978
|
*
|
1978
1979
|
* @webref rendering
|
1979
1980
|
* @param a x-coordinate of the rectangle, by default
|
@@ -2024,7 +2025,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
2024
2025
|
*
|
2025
2026
|
* Disables the clipping previously started by the <b>clip()</b> function.
|
2026
2027
|
*
|
2027
|
-
|
2028
|
+
|
2028
2029
|
*
|
2029
2030
|
* @webref rendering
|
2030
2031
|
*/
|
@@ -2043,7 +2044,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
2043
2044
|
*
|
2044
2045
|
* This is a new reference entry for Processing 2.0. It will be updated shortly.
|
2045
2046
|
*
|
2046
|
-
|
2047
|
+
|
2047
2048
|
*
|
2048
2049
|
* @webref rendering
|
2049
2050
|
* @param mode the blending mode to use
|
@@ -2125,7 +2126,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
2125
2126
|
* 3D version requires rendering with P3D (see the Environment reference
|
2126
2127
|
* for more information).
|
2127
2128
|
*
|
2128
|
-
|
2129
|
+
|
2129
2130
|
* @webref shape:vertex
|
2130
2131
|
* @param x2 the x-coordinate of the 1st control point
|
2131
2132
|
* @param y2 the y-coordinate of the 1st control point
|
@@ -2258,7 +2259,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
2258
2259
|
* version requires rendering with P3D (see the Environment reference for
|
2259
2260
|
* more information).
|
2260
2261
|
*
|
2261
|
-
|
2262
|
+
|
2262
2263
|
*
|
2263
2264
|
* @webref shape:vertex
|
2264
2265
|
* @param x the x-coordinate of the vertex
|
@@ -2409,7 +2410,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
2409
2410
|
* requires the P3D parameter in combination with <b>size()</b> as shown in
|
2410
2411
|
* the above example.
|
2411
2412
|
*
|
2412
|
-
|
2413
|
+
|
2413
2414
|
*
|
2414
2415
|
* @webref shape:2d_primitives
|
2415
2416
|
* @param x x-coordinate of the point
|
@@ -2444,7 +2445,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
2444
2445
|
* Drawing this shape in 3D with the <b>z</b> parameter requires the P3D
|
2445
2446
|
* parameter in combination with <b>size()</b> as shown in the above example.
|
2446
2447
|
*
|
2447
|
-
|
2448
|
+
|
2448
2449
|
* @webref shape:2d_primitives
|
2449
2450
|
* @param x1 x-coordinate of the first point
|
2450
2451
|
* @param y1 y-coordinate of the first point
|
@@ -2481,7 +2482,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
2481
2482
|
* arguments specify the first point, the middle two arguments specify the
|
2482
2483
|
* second point, and the last two arguments specify the third point.
|
2483
2484
|
*
|
2484
|
-
|
2485
|
+
|
2485
2486
|
* @webref shape:2d_primitives
|
2486
2487
|
* @param x1 x-coordinate of the first point
|
2487
2488
|
* @param y1 y-coordinate of the first point
|
@@ -2510,7 +2511,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
2510
2511
|
* vertex and the subsequent pairs should proceed clockwise or
|
2511
2512
|
* counter-clockwise around the defined shape.
|
2512
2513
|
*
|
2513
|
-
|
2514
|
+
|
2514
2515
|
* @webref shape:2d_primitives
|
2515
2516
|
* @param x1 x-coordinate of the first corner
|
2516
2517
|
* @param y1 y-coordinate of the first corner
|
@@ -2556,7 +2557,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
2556
2557
|
* sensitive language. Note: In version 125, the mode named CENTER_RADIUS
|
2557
2558
|
* was shortened to RADIUS.
|
2558
2559
|
*
|
2559
|
-
|
2560
|
+
|
2560
2561
|
* @webref shape:attributes
|
2561
2562
|
* @param mode either CORNER, CORNERS, CENTER, or RADIUS
|
2562
2563
|
* @see PGraphics#rect(float, float, float, float)
|
@@ -2575,7 +2576,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
2575
2576
|
* fourth sets the height. These parameters may be changed with the
|
2576
2577
|
* <b>rectMode()</b> function.
|
2577
2578
|
*
|
2578
|
-
|
2579
|
+
|
2579
2580
|
*
|
2580
2581
|
* @webref shape:2d_primitives
|
2581
2582
|
* @param a x-coordinate of the rectangle by default
|
@@ -2741,7 +2742,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
2741
2742
|
* these parameters are interpreted, however, may be changed with the
|
2742
2743
|
* <b>rectMode()</b> function.
|
2743
2744
|
*
|
2744
|
-
|
2745
|
+
|
2745
2746
|
*
|
2746
2747
|
* @webref shape:2d_primitives
|
2747
2748
|
* @param x x-coordinate of the rectangle by default
|
@@ -2775,7 +2776,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
2775
2776
|
* ellipse's bounding box. The parameter must be written in ALL CAPS
|
2776
2777
|
* because Processing is a case-sensitive language.
|
2777
2778
|
*
|
2778
|
-
|
2779
|
+
|
2779
2780
|
* @webref shape:attributes
|
2780
2781
|
* @param mode either CENTER, RADIUS, CORNER, or CORNERS
|
2781
2782
|
* @see PApplet#ellipse(float, float, float, float)
|
@@ -2794,7 +2795,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
2794
2795
|
* the location, the third sets the width, and the fourth sets the height.
|
2795
2796
|
* The origin may be changed with the <b>ellipseMode()</b> function.
|
2796
2797
|
*
|
2797
|
-
|
2798
|
+
|
2798
2799
|
* @webref shape:2d_primitives
|
2799
2800
|
* @param a x-coordinate of the ellipse
|
2800
2801
|
* @param b y-coordinate of the ellipse
|
@@ -2851,7 +2852,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
2851
2852
|
* with the <b>ellipseMode()</b> function. The <b>start</b> and <b>stop</b>
|
2852
2853
|
* parameters specify the angles at which to draw the arc.
|
2853
2854
|
*
|
2854
|
-
|
2855
|
+
|
2855
2856
|
* @webref shape:2d_primitives
|
2856
2857
|
* @param a x-coordinate of the arc's ellipse
|
2857
2858
|
* @param b y-coordinate of the arc's ellipse
|
@@ -2938,7 +2939,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
2938
2939
|
* and height. The origin may be changed with the <b>ellipseMode()</b>
|
2939
2940
|
* function.
|
2940
2941
|
*
|
2941
|
-
|
2942
|
+
|
2942
2943
|
* @webref shape:2d_primitives
|
2943
2944
|
* @param x x-coordinate of the ellipse
|
2944
2945
|
* @param y y-coordinate of the ellipse
|
@@ -2961,7 +2962,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
2961
2962
|
* A box is an extruded rectangle. A box with equal dimension on all sides
|
2962
2963
|
* is a cube.
|
2963
2964
|
*
|
2964
|
-
|
2965
|
+
|
2965
2966
|
*
|
2966
2967
|
* @webref shape:3d_primitives
|
2967
2968
|
* @param size dimension of the box in all dimensions (creates a cube)
|
@@ -3054,7 +3055,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
3054
3055
|
* and vertical resolution independently, use the version of the functions
|
3055
3056
|
* with two parameters.
|
3056
3057
|
*
|
3057
|
-
|
3058
|
+
|
3058
3059
|
*
|
3059
3060
|
* <h3>Advanced</h3>
|
3060
3061
|
* Code for sphereDetail() submitted by toxi [031031].
|
@@ -3078,13 +3079,13 @@ public class PGraphics extends PImage implements PConstants {
|
|
3078
3079
|
if (vres < 2) vres = 2; // force a minimum res
|
3079
3080
|
if ((ures == sphereDetailU) && (vres == sphereDetailV)) return;
|
3080
3081
|
|
3081
|
-
float delta = (
|
3082
|
+
float delta = 360 / (ures * SINCOS_PRECISION);
|
3082
3083
|
float[] cx = new float[ures];
|
3083
3084
|
float[] cz = new float[ures];
|
3084
3085
|
// calc unit circle in XZ plane
|
3085
3086
|
for (int i = 0; i < ures; i++) {
|
3086
|
-
cx[i] =
|
3087
|
-
cz[i] =
|
3087
|
+
cx[i] = cosLUT[(int) (i*delta) % SINCOS_LENGTH];
|
3088
|
+
cz[i] = sinLUT[(int) (i*delta) % SINCOS_LENGTH];
|
3088
3089
|
}
|
3089
3090
|
// computing vertexlist
|
3090
3091
|
// vertexlist starts at south pole
|
@@ -3096,13 +3097,13 @@ public class PGraphics extends PImage implements PConstants {
|
|
3096
3097
|
sphereY = new float[vertCount];
|
3097
3098
|
sphereZ = new float[vertCount];
|
3098
3099
|
|
3099
|
-
float angle_step = (
|
3100
|
+
float angle_step = (SINCOS_PRECISION*0.5f)/vres;
|
3100
3101
|
float angle = angle_step;
|
3101
3102
|
|
3102
3103
|
// step along Y axis
|
3103
3104
|
for (int i = 1; i < vres; i++) {
|
3104
|
-
float curradius =
|
3105
|
-
float currY =
|
3105
|
+
float curradius = sinLUT[(int) angle % SINCOS_LENGTH];
|
3106
|
+
float currY = cosLUT[(int) angle % SINCOS_LENGTH];
|
3106
3107
|
for (int j = 0; j < ures; j++) {
|
3107
3108
|
sphereX[currVert] = cx[j] * curradius;
|
3108
3109
|
sphereY[currVert] = currY;
|
@@ -3120,7 +3121,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
3120
3121
|
*
|
3121
3122
|
* A sphere is a hollow ball made from tessellated triangles.
|
3122
3123
|
*
|
3123
|
-
|
3124
|
+
|
3124
3125
|
*
|
3125
3126
|
* <h3>Advanced</h3>
|
3126
3127
|
* <P>
|
@@ -3160,8 +3161,8 @@ public class PGraphics extends PImage implements PConstants {
|
|
3160
3161
|
for (int i = 0; i < sphereDetailU; i++) {
|
3161
3162
|
normal(0, -1, 0);
|
3162
3163
|
vertex(0, -r, 0);
|
3163
|
-
normal(sphereX[i], sphereY[i], sphereZ[i]);
|
3164
|
-
vertex(r * sphereX[i], r * sphereY[i], r * sphereZ[i]);
|
3164
|
+
normal((float)sphereX[i], (float)sphereY[i], (float)sphereZ[i]);
|
3165
|
+
vertex(r * (float)sphereX[i], r * (float)sphereY[i], r * (float)sphereZ[i]);
|
3165
3166
|
}
|
3166
3167
|
normal(0, -r, 0);
|
3167
3168
|
vertex(0, -r, 0);
|
@@ -3227,7 +3228,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
3227
3228
|
* second time with the y coordinates to get the location of a bezier curve
|
3228
3229
|
* at t.
|
3229
3230
|
*
|
3230
|
-
|
3231
|
+
|
3231
3232
|
*
|
3232
3233
|
* <h3>Advanced</h3>
|
3233
3234
|
* For instance, to convert the following example:<PRE>
|
@@ -3271,7 +3272,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
3271
3272
|
* definition of <a href="http://en.wikipedia.org/wiki/Tangent"
|
3272
3273
|
* target="new"><em>tangent</em> on Wikipedia</a>.
|
3273
3274
|
*
|
3274
|
-
|
3275
|
+
|
3275
3276
|
*
|
3276
3277
|
* <h3>Advanced</h3>
|
3277
3278
|
* Code submitted by Dave Bollinger (davol) for release 0136.
|
@@ -3314,7 +3315,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
3314
3315
|
* This function is only useful when using the P3D renderer as the default
|
3315
3316
|
* P2D renderer does not use this information.
|
3316
3317
|
*
|
3317
|
-
|
3318
|
+
|
3318
3319
|
*
|
3319
3320
|
* @webref shape:curves
|
3320
3321
|
* @param detail resolution of the curves
|
@@ -3362,7 +3363,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
3362
3363
|
* Bezier. Using the 3D version requires rendering with P3D (see the
|
3363
3364
|
* Environment reference for more information).
|
3364
3365
|
*
|
3365
|
-
|
3366
|
+
|
3366
3367
|
*
|
3367
3368
|
* <h3>Advanced</h3>
|
3368
3369
|
* Draw a cubic bezier curve. The first and last points are
|
@@ -3426,17 +3427,17 @@ public class PGraphics extends PImage implements PConstants {
|
|
3426
3427
|
* ( begin auto-generated from curvePoint.xml )
|
3427
3428
|
*
|
3428
3429
|
* Evalutes the curve at point t for points a, b, c, d. The parameter t
|
3429
|
-
* varies between 0 and 1, a and d are
|
3430
|
-
* the
|
3430
|
+
* varies between 0 and 1, a and d are the control points, and b and c are
|
3431
|
+
* the points on the curve. This can be done once with the x coordinates and a
|
3431
3432
|
* second time with the y coordinates to get the location of a curve at t.
|
3432
3433
|
*
|
3433
|
-
|
3434
|
+
|
3434
3435
|
*
|
3435
3436
|
* @webref shape:curves
|
3436
|
-
* @param a coordinate of first point
|
3437
|
-
* @param b coordinate of
|
3438
|
-
* @param c coordinate of
|
3439
|
-
* @param d coordinate of
|
3437
|
+
* @param a coordinate of first control point
|
3438
|
+
* @param b coordinate of first point on the curve
|
3439
|
+
* @param c coordinate of second point on the curve
|
3440
|
+
* @param d coordinate of second control point
|
3440
3441
|
* @param t value between 0 and 1
|
3441
3442
|
* @see PGraphics#curve(float, float, float, float, float, float, float, float, float, float, float, float)
|
3442
3443
|
* @see PGraphics#curveVertex(float, float)
|
@@ -3462,9 +3463,9 @@ public class PGraphics extends PImage implements PConstants {
|
|
3462
3463
|
*
|
3463
3464
|
* Calculates the tangent of a point on a curve. There's a good definition
|
3464
3465
|
* of <em><a href="http://en.wikipedia.org/wiki/Tangent"
|
3465
|
-
* target="new">tangent
|
3466
|
+
* target="new">tangent on Wikipedia</a></em>.
|
3466
3467
|
*
|
3467
|
-
|
3468
|
+
|
3468
3469
|
*
|
3469
3470
|
* <h3>Advanced</h3>
|
3470
3471
|
* Code thanks to Dave Bollinger (Bug #715)
|
@@ -3502,7 +3503,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
3502
3503
|
* This function is only useful when using the P3D renderer as the default
|
3503
3504
|
* P2D renderer does not use this information.
|
3504
3505
|
*
|
3505
|
-
|
3506
|
+
|
3506
3507
|
*
|
3507
3508
|
* @webref shape:curves
|
3508
3509
|
* @param detail resolution of the curves
|
@@ -3527,7 +3528,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
3527
3528
|
* within the range -5.0 and 5.0 will deform the curves but will leave them
|
3528
3529
|
* recognizable and as values increase in magnitude, they will continue to deform.
|
3529
3530
|
*
|
3530
|
-
|
3531
|
+
|
3531
3532
|
*
|
3532
3533
|
* @webref shape:curves
|
3533
3534
|
* @param tightness amount of deformation from the original vertices
|
@@ -3606,10 +3607,10 @@ public class PGraphics extends PImage implements PConstants {
|
|
3606
3607
|
* implementation of Catmull-Rom splines. Using the 3D version requires
|
3607
3608
|
* rendering with P3D (see the Environment reference for more information).
|
3608
3609
|
*
|
3609
|
-
|
3610
|
+
|
3610
3611
|
*
|
3611
3612
|
* <h3>Advanced</h3>
|
3612
|
-
* As of revision 0070, this function no longer
|
3613
|
+
* As of revision 0070, this function no longer floats the first
|
3613
3614
|
* and last points. The curves are a bit more boring, but it's more
|
3614
3615
|
* mathematically correct, and properly mirrored in curvePoint().
|
3615
3616
|
* <P>
|
@@ -3749,11 +3750,11 @@ public class PGraphics extends PImage implements PConstants {
|
|
3749
3750
|
* the fourth and fifth parameters to set the opposite corner. Use
|
3750
3751
|
* <b>imageMode(CENTER)</b> to draw images centered at the given x and y
|
3751
3752
|
* position.
|
3752
|
-
*
|
3753
|
+
*
|
3753
3754
|
* The parameter to <b>imageMode()</b> must be written in ALL CAPS because
|
3754
3755
|
* Processing is a case-sensitive language.
|
3755
3756
|
*
|
3756
|
-
|
3757
|
+
|
3757
3758
|
*
|
3758
3759
|
* @webref image:loading_displaying
|
3759
3760
|
* @param mode either CORNER, CORNERS, or CENTER
|
@@ -3784,16 +3785,16 @@ public class PGraphics extends PImage implements PConstants {
|
|
3784
3785
|
* its upper-left corner. The image is displayed at its original size
|
3785
3786
|
* unless the <b>width</b> and <b>height</b> parameters specify a different
|
3786
3787
|
* size.
|
3787
|
-
*
|
3788
|
+
*
|
3788
3789
|
* The <b>imageMode()</b> function changes the way the parameters work. For
|
3789
3790
|
* example, a call to <b>imageMode(CORNERS)</b> will change the
|
3790
3791
|
* <b>width</b> and <b>height</b> parameters to define the x and y values
|
3791
3792
|
* of the opposite corner of the image.
|
3792
|
-
*
|
3793
|
+
*
|
3793
3794
|
* The color of an image may be modified with the <b>tint()</b> function.
|
3794
3795
|
* This function will maintain transparency for GIF and PNG images.
|
3795
3796
|
*
|
3796
|
-
|
3797
|
+
|
3797
3798
|
*
|
3798
3799
|
* <h3>Advanced</h3>
|
3799
3800
|
* Starting with release 0124, when using the default (JAVA2D) renderer,
|
@@ -3971,7 +3972,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
3971
3972
|
* and height. The parameter must be written in "ALL CAPS" because
|
3972
3973
|
* Processing is a case sensitive language.
|
3973
3974
|
*
|
3974
|
-
|
3975
|
+
|
3975
3976
|
*
|
3976
3977
|
* @webref shape:loading_displaying
|
3977
3978
|
* @param mode either CORNER, CORNERS, CENTER
|
@@ -4018,11 +4019,11 @@ public class PGraphics extends PImage implements PConstants {
|
|
4018
4019
|
* to <b>shapeMode(CORNERS)</b>, for example, will change the width and
|
4019
4020
|
* height parameters to define the x and y values of the opposite corner of
|
4020
4021
|
* the shape.
|
4021
|
-
*
|
4022
|
+
*
|
4022
4023
|
* Note complex shapes may draw awkwardly with P3D. This renderer does not
|
4023
4024
|
* yet support shapes that have holes or complicated breaks.
|
4024
4025
|
*
|
4025
|
-
|
4026
|
+
|
4026
4027
|
*
|
4027
4028
|
* @webref shape:loading_displaying
|
4028
4029
|
* @param shape the shape to display
|
@@ -4167,7 +4168,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
4167
4168
|
* CENTER, and RIGHT set the display characteristics of the letters in
|
4168
4169
|
* relation to the values for the <b>x</b> and <b>y</b> parameters of the
|
4169
4170
|
* <b>text()</b> function.
|
4170
|
-
*
|
4171
|
+
*
|
4171
4172
|
* In Processing 0125 and later, an optional second parameter can be used
|
4172
4173
|
* to vertically align the text. BASELINE is the default, and the vertical
|
4173
4174
|
* alignment will be reset to BASELINE if the second parameter is not used.
|
@@ -4175,12 +4176,12 @@ public class PGraphics extends PImage implements PConstants {
|
|
4175
4176
|
* offsets the line based on the current <b>textDescent()</b>. For multiple
|
4176
4177
|
* lines, the final line will be aligned to the bottom, with the previous
|
4177
4178
|
* lines appearing above it.
|
4178
|
-
*
|
4179
|
+
*
|
4179
4180
|
* When using <b>text()</b> with width and height parameters, BASELINE is
|
4180
4181
|
* ignored, and treated as TOP. (Otherwise, text would by default draw
|
4181
4182
|
* outside the box, since BASELINE is the default setting. BASELINE is not
|
4182
4183
|
* a useful drawing mode for text drawn in a rectangle.)
|
4183
|
-
*
|
4184
|
+
*
|
4184
4185
|
* The vertical alignment is based on the value of <b>textAscent()</b>,
|
4185
4186
|
* which many fonts do not specify correctly. It may be necessary to use a
|
4186
4187
|
* hack and offset by a few pixels by hand so that the offset looks
|
@@ -4188,7 +4189,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
4188
4189
|
* <b>textAscent()</b> or <b>textDescent()</b> so that the hack works even
|
4189
4190
|
* if you change the size of the font.
|
4190
4191
|
*
|
4191
|
-
|
4192
|
+
|
4192
4193
|
*
|
4193
4194
|
* @webref typography:attributes
|
4194
4195
|
* @param alignX horizontal alignment, either LEFT, CENTER, or RIGHT
|
@@ -4214,7 +4215,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
4214
4215
|
* example, adding the <b>textAscent()</b> and <b>textDescent()</b> values
|
4215
4216
|
* will give you the total height of the line.
|
4216
4217
|
*
|
4217
|
-
|
4218
|
+
|
4218
4219
|
*
|
4219
4220
|
* @webref typography:metrics
|
4220
4221
|
* @see PGraphics#textDescent()
|
@@ -4235,7 +4236,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
4235
4236
|
* baseline. For example, adding the <b>textAscent()</b> and
|
4236
4237
|
* <b>textDescent()</b> values will give you the total height of the line.
|
4237
4238
|
*
|
4238
|
-
|
4239
|
+
|
4239
4240
|
*
|
4240
4241
|
* @webref typography:metrics
|
4241
4242
|
* @see PGraphics#textAscent()
|
@@ -4267,7 +4268,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
4267
4268
|
* available: when the font is still installed, or the font is created via
|
4268
4269
|
* the <b>createFont()</b> function (rather than the Create Font tool).
|
4269
4270
|
*
|
4270
|
-
|
4271
|
+
|
4271
4272
|
*
|
4272
4273
|
* @webref typography:loading_displaying
|
4273
4274
|
* @param which any variable of the type PFont
|
@@ -4354,7 +4355,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
4354
4355
|
* Sets the spacing between lines of text in units of pixels. This setting
|
4355
4356
|
* will be used in all subsequent calls to the <b>text()</b> function.
|
4356
4357
|
*
|
4357
|
-
|
4358
|
+
|
4358
4359
|
*
|
4359
4360
|
* @webref typography:attributes
|
4360
4361
|
* @param leading the size in pixels for spacing between lines
|
@@ -4375,7 +4376,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
4375
4376
|
* Sets the way text draws to the screen. In the default configuration, the
|
4376
4377
|
* <b>MODEL</b> mode, it's possible to rotate, scale, and place letters in
|
4377
4378
|
* two and three dimensional space.
|
4378
|
-
*
|
4379
|
+
*
|
4379
4380
|
* The <b>SHAPE</b> mode draws text using the the glyph outlines of
|
4380
4381
|
* individual characters rather than as textures. This mode is only
|
4381
4382
|
* supported with the <b>PDF</b> and <b>P3D</b> renderer settings. With the
|
@@ -4383,14 +4384,14 @@ public class PGraphics extends PImage implements PConstants {
|
|
4383
4384
|
* other drawing occurs. If the outlines are not available, then
|
4384
4385
|
* <b>textMode(SHAPE)</b> will be ignored and <b>textMode(MODEL)</b> will
|
4385
4386
|
* be used instead.
|
4386
|
-
*
|
4387
|
+
*
|
4387
4388
|
* The <b>textMode(SHAPE)</b> option in <b>P3D</b> can be combined with
|
4388
4389
|
* <b>beginRaw()</b> to write vector-accurate text to 2D and 3D output
|
4389
4390
|
* files, for instance <b>DXF</b> or <b>PDF</b>. The <b>SHAPE</b> mode is
|
4390
4391
|
* not currently optimized for <b>P3D</b>, so if recording shape data, use
|
4391
4392
|
* <b>textMode(MODEL)</b> until you're ready to capture the geometry with <b>beginRaw()</b>.
|
4392
4393
|
*
|
4393
|
-
|
4394
|
+
|
4394
4395
|
*
|
4395
4396
|
* @webref typography:attributes
|
4396
4397
|
* @param mode either MODEL or SHAPE
|
@@ -4436,7 +4437,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
4436
4437
|
* Sets the current font size. This size will be used in all subsequent
|
4437
4438
|
* calls to the <b>text()</b> function. Font size is measured in units of pixels.
|
4438
4439
|
*
|
4439
|
-
|
4440
|
+
|
4440
4441
|
*
|
4441
4442
|
* @webref typography:attributes
|
4442
4443
|
* @param size the size of the letters in units of pixels
|
@@ -4500,7 +4501,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
4500
4501
|
*
|
4501
4502
|
* Calculates and returns the width of any character or text string.
|
4502
4503
|
*
|
4503
|
-
|
4504
|
+
|
4504
4505
|
*
|
4505
4506
|
* @webref typography:attributes
|
4506
4507
|
* @param str the String of characters to measure
|
@@ -4553,7 +4554,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
4553
4554
|
* Unlike the previous version that was inside PFont, this will
|
4554
4555
|
* return the size not of a 1 pixel font, but the actual current size.
|
4555
4556
|
*/
|
4556
|
-
protected float textWidthImpl(char buffer
|
4557
|
+
protected float textWidthImpl(char[] buffer, int start, int stop) {
|
4557
4558
|
float wide = 0;
|
4558
4559
|
for (int i = start; i < stop; i++) {
|
4559
4560
|
// could add kerning here, but it just ain't implemented
|
@@ -4577,13 +4578,13 @@ public class PGraphics extends PImage implements PConstants {
|
|
4577
4578
|
* with the <b>fill()</b> function. The text displays in relation to the
|
4578
4579
|
* <b>textAlign()</b> function, which gives the option to draw to the left,
|
4579
4580
|
* right, and center of the coordinates.
|
4580
|
-
*
|
4581
|
+
*
|
4581
4582
|
* The <b>x2</b> and <b>y2</b> parameters define a rectangular area to
|
4582
4583
|
* display within and may only be used with string data. For text drawn
|
4583
4584
|
* inside a rectangle, the coordinates are interpreted based on the current
|
4584
4585
|
* <b>rectMode()</b> setting.
|
4585
4586
|
*
|
4586
|
-
|
4587
|
+
|
4587
4588
|
*
|
4588
4589
|
* @webref typography:loading_displaying
|
4589
4590
|
* @param c the alphanumeric character to be displayed
|
@@ -4747,11 +4748,11 @@ public class PGraphics extends PImage implements PConstants {
|
|
4747
4748
|
* Draw text in a box that is constrained to a particular size.
|
4748
4749
|
* The current rectMode() determines what the coordinates mean
|
4749
4750
|
* (whether x1/y1/x2/y2 or x/y/w/h).
|
4750
|
-
*
|
4751
|
+
*
|
4751
4752
|
* Note that the x,y coords of the start of the box
|
4752
4753
|
* will align with the *ascent* of the text, not the baseline,
|
4753
4754
|
* as is the case for the other text() functions.
|
4754
|
-
*
|
4755
|
+
*
|
4755
4756
|
* Newlines that are \n (Unix newline or linefeed char, ascii 10)
|
4756
4757
|
* are honored, and \r (carriage return, Windows and Mac OS) are
|
4757
4758
|
* ignored.
|
@@ -5021,7 +5022,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5021
5022
|
* Handles placement of a text line, then calls textLineImpl
|
5022
5023
|
* to actually render at the specific point.
|
5023
5024
|
*/
|
5024
|
-
protected void textLineAlignImpl(char buffer
|
5025
|
+
protected void textLineAlignImpl(char[] buffer, int start, int stop,
|
5025
5026
|
float x, float y) {
|
5026
5027
|
if (textAlign == CENTER) {
|
5027
5028
|
x -= textWidthImpl(buffer, start, stop) / 2f;
|
@@ -5037,7 +5038,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5037
5038
|
/**
|
5038
5039
|
* Implementation of actual drawing for a line of text.
|
5039
5040
|
*/
|
5040
|
-
protected void textLineImpl(char buffer
|
5041
|
+
protected void textLineImpl(char[] buffer, int start, int stop,
|
5041
5042
|
float x, float y) {
|
5042
5043
|
for (int index = start; index < stop; index++) {
|
5043
5044
|
textCharImpl(buffer[index], x, y);
|
@@ -5176,7 +5177,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5176
5177
|
* and later return to what you had. When a new state is started
|
5177
5178
|
* with push(), it builds on the current style and transform
|
5178
5179
|
* information.
|
5179
|
-
*
|
5180
|
+
*
|
5180
5181
|
* <b>push()</b> stores information related to the current
|
5181
5182
|
* transformation state and style settings controlled by the
|
5182
5183
|
* following functions: <b>rotate()</b>, <b>translate()</b>,
|
@@ -5185,7 +5186,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5185
5186
|
* <b>imageMode()</b>, <b>rectMode()</b>, <b>ellipseMode()</b>,
|
5186
5187
|
* <b>colorMode()</b>, <b>textAlign()</b>, <b>textFont()</b>,
|
5187
5188
|
* <b>textMode()</b>, <b>textSize()</b>, <b>textLeading()</b>.
|
5188
|
-
*
|
5189
|
+
*
|
5189
5190
|
* The <b>push()</b> and <b>pop()</b> functions were added with
|
5190
5191
|
* Processing 3.5. They can be used in place of <b>pushMatrix()</b>,
|
5191
5192
|
* <b>popMatrix()</b>, <b>pushStyles()</b>, and <b>popStyles()</b>.
|
@@ -5193,7 +5194,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5193
5194
|
* transformations (rotate, scale, translate) and the drawing styles
|
5194
5195
|
* at the same time.
|
5195
5196
|
*
|
5196
|
-
|
5197
|
+
|
5197
5198
|
*
|
5198
5199
|
* @webref structure
|
5199
5200
|
* @see PGraphics#pop()
|
@@ -5212,8 +5213,8 @@ public class PGraphics extends PImage implements PConstants {
|
|
5212
5213
|
* you to change the style and transformation settings and later
|
5213
5214
|
* return to what you had. When a new state is started with push(),
|
5214
5215
|
* it builds on the current style and transform information.
|
5215
|
-
*
|
5216
|
-
*
|
5216
|
+
*
|
5217
|
+
*
|
5217
5218
|
* <b>push()</b> stores information related to the current
|
5218
5219
|
* transformation state and style settings controlled by the
|
5219
5220
|
* following functions: <b>rotate()</b>, <b>translate()</b>,
|
@@ -5222,7 +5223,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5222
5223
|
* <b>imageMode()</b>, <b>rectMode()</b>, <b>ellipseMode()</b>,
|
5223
5224
|
* <b>colorMode()</b>, <b>textAlign()</b>, <b>textFont()</b>,
|
5224
5225
|
* <b>textMode()</b>, <b>textSize()</b>, <b>textLeading()</b>.
|
5225
|
-
*
|
5226
|
+
*
|
5226
5227
|
* The <b>push()</b> and <b>pop()</b> functions were added with
|
5227
5228
|
* Processing 3.5. They can be used in place of <b>pushMatrix()</b>,
|
5228
5229
|
* <b>popMatrix()</b>, <b>pushStyles()</b>, and <b>popStyles()</b>.
|
@@ -5230,7 +5231,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5230
5231
|
* transformations (rotate, scale, translate) and the drawing styles
|
5231
5232
|
* at the same time.
|
5232
5233
|
*
|
5233
|
-
|
5234
|
+
|
5234
5235
|
*
|
5235
5236
|
* @webref structure
|
5236
5237
|
* @see PGraphics#push()
|
@@ -5259,7 +5260,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5259
5260
|
* the other transformation functions and may be embedded to control the
|
5260
5261
|
* scope of the transformations.
|
5261
5262
|
*
|
5262
|
-
|
5263
|
+
|
5263
5264
|
*
|
5264
5265
|
* @webref transform
|
5265
5266
|
* @see PGraphics#popMatrix()
|
@@ -5286,7 +5287,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5286
5287
|
* in conjuction with the other transformation functions and may be
|
5287
5288
|
* embedded to control the scope of the transformations.
|
5288
5289
|
*
|
5289
|
-
|
5290
|
+
|
5290
5291
|
*
|
5291
5292
|
* @webref transform
|
5292
5293
|
* @see PGraphics#pushMatrix()
|
@@ -5318,7 +5319,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5318
5319
|
* transformation is reset when the loop begins again. This function can be
|
5319
5320
|
* further controlled by the <b>pushMatrix()</b> and <b>popMatrix()</b>.
|
5320
5321
|
*
|
5321
|
-
|
5322
|
+
|
5322
5323
|
*
|
5323
5324
|
* @webref transform
|
5324
5325
|
* @param x left/right translation
|
@@ -5350,7 +5351,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5350
5351
|
* Rotates a shape the amount specified by the <b>angle</b> parameter.
|
5351
5352
|
* Angles should be specified in radians (values from 0 to TWO_PI) or
|
5352
5353
|
* converted to radians with the <b>radians()</b> function.
|
5353
|
-
*
|
5354
|
+
*
|
5354
5355
|
* Objects are always rotated around their relative position to the origin
|
5355
5356
|
* and positive numbers rotate objects in a clockwise direction.
|
5356
5357
|
* Transformations apply to everything that happens after and subsequent
|
@@ -5358,12 +5359,12 @@ public class PGraphics extends PImage implements PConstants {
|
|
5358
5359
|
* <b>rotate(HALF_PI)</b> and then <b>rotate(HALF_PI)</b> is the same as
|
5359
5360
|
* <b>rotate(PI)</b>. All tranformations are reset when <b>draw()</b>
|
5360
5361
|
* begins again.
|
5361
|
-
*
|
5362
|
+
*
|
5362
5363
|
* Technically, <b>rotate()</b> multiplies the current transformation
|
5363
5364
|
* matrix by a rotation matrix. This function can be further controlled by
|
5364
5365
|
* the <b>pushMatrix()</b> and <b>popMatrix()</b>.
|
5365
5366
|
*
|
5366
|
-
|
5367
|
+
|
5367
5368
|
*
|
5368
5369
|
* @webref transform
|
5369
5370
|
* @param angle angle of rotation specified in radians
|
@@ -5396,7 +5397,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5396
5397
|
* This function requires using P3D as a third parameter to <b>size()</b>
|
5397
5398
|
* as shown in the example above.
|
5398
5399
|
*
|
5399
|
-
|
5400
|
+
|
5400
5401
|
*
|
5401
5402
|
* @webref transform
|
5402
5403
|
* @param angle angle of rotation specified in radians
|
@@ -5429,7 +5430,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5429
5430
|
* This function requires using P3D as a third parameter to <b>size()</b>
|
5430
5431
|
* as shown in the examples above.
|
5431
5432
|
*
|
5432
|
-
|
5433
|
+
|
5433
5434
|
*
|
5434
5435
|
* @webref transform
|
5435
5436
|
* @param angle angle of rotation specified in radians
|
@@ -5462,7 +5463,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5462
5463
|
* This function requires using P3D as a third parameter to <b>size()</b>
|
5463
5464
|
* as shown in the examples above.
|
5464
5465
|
*
|
5465
|
-
|
5466
|
+
|
5466
5467
|
*
|
5467
5468
|
* @webref transform
|
5468
5469
|
* @param angle angle of rotation specified in radians
|
@@ -5508,7 +5509,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5508
5509
|
* parameter for <b>size()</b> as shown in the example above. This function
|
5509
5510
|
* can be further controlled by <b>pushMatrix()</b> and <b>popMatrix()</b>.
|
5510
5511
|
*
|
5511
|
-
|
5512
|
+
|
5512
5513
|
*
|
5513
5514
|
* @webref transform
|
5514
5515
|
* @param s percentage to scale the object
|
@@ -5561,12 +5562,12 @@ public class PGraphics extends PImage implements PConstants {
|
|
5561
5562
|
* <b>shearX(PI/2)</b> and then <b>shearX(PI/2)</b> is the same as
|
5562
5563
|
* <b>shearX(PI)</b>. If <b>shearX()</b> is called within the
|
5563
5564
|
* <b>draw()</b>, the transformation is reset when the loop begins again.
|
5564
|
-
*
|
5565
|
+
*
|
5565
5566
|
* Technically, <b>shearX()</b> multiplies the current transformation
|
5566
5567
|
* matrix by a rotation matrix. This function can be further controlled by
|
5567
5568
|
* the <b>pushMatrix()</b> and <b>popMatrix()</b> functions.
|
5568
5569
|
*
|
5569
|
-
|
5570
|
+
|
5570
5571
|
*
|
5571
5572
|
* @webref transform
|
5572
5573
|
* @param angle angle of shear specified in radians
|
@@ -5595,12 +5596,12 @@ public class PGraphics extends PImage implements PConstants {
|
|
5595
5596
|
* <b>shearY(PI/2)</b> and then <b>shearY(PI/2)</b> is the same as
|
5596
5597
|
* <b>shearY(PI)</b>. If <b>shearY()</b> is called within the
|
5597
5598
|
* <b>draw()</b>, the transformation is reset when the loop begins again.
|
5598
|
-
*
|
5599
|
+
*
|
5599
5600
|
* Technically, <b>shearY()</b> multiplies the current transformation
|
5600
5601
|
* matrix by a rotation matrix. This function can be further controlled by
|
5601
5602
|
* the <b>pushMatrix()</b> and <b>popMatrix()</b> functions.
|
5602
5603
|
*
|
5603
|
-
|
5604
|
+
|
5604
5605
|
*
|
5605
5606
|
* @webref transform
|
5606
5607
|
* @param angle angle of shear specified in radians
|
@@ -5627,7 +5628,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5627
5628
|
* Replaces the current matrix with the identity matrix. The equivalent
|
5628
5629
|
* function in OpenGL is glLoadIdentity().
|
5629
5630
|
*
|
5630
|
-
|
5631
|
+
|
5631
5632
|
*
|
5632
5633
|
* @webref transform
|
5633
5634
|
* @see PGraphics#pushMatrix()
|
@@ -5647,7 +5648,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5647
5648
|
* inverse of the transform, so avoid it whenever possible. The equivalent
|
5648
5649
|
* function in OpenGL is glMultMatrix().
|
5649
5650
|
*
|
5650
|
-
|
5651
|
+
|
5651
5652
|
*
|
5652
5653
|
* @webref transform
|
5653
5654
|
* @source
|
@@ -5778,7 +5779,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5778
5779
|
* Prints the current matrix to the Console (the text window at the bottom
|
5779
5780
|
* of Processing).
|
5780
5781
|
*
|
5781
|
-
|
5782
|
+
|
5782
5783
|
*
|
5783
5784
|
* @webref transform
|
5784
5785
|
* @see PGraphics#pushMatrix()
|
@@ -5808,14 +5809,14 @@ public class PGraphics extends PImage implements PConstants {
|
|
5808
5809
|
* reason, camera functions should be placed at the beginning of
|
5809
5810
|
* <b>draw()</b> (so that transformations happen afterwards), and the
|
5810
5811
|
* <b>camera()</b> function can be used after <b>beginCamera()</b> if you
|
5811
|
-
* want to reset the camera before applying transformations
|
5812
|
-
*
|
5812
|
+
* want to reset the camera before applying transformations.
|
5813
|
+
* This function sets the matrix mode to the camera matrix so calls such
|
5813
5814
|
* as <b>translate()</b>, <b>rotate()</b>, applyMatrix() and resetMatrix()
|
5814
5815
|
* affect the camera. <b>beginCamera()</b> should always be used with a
|
5815
5816
|
* following <b>endCamera()</b> and pairs of <b>beginCamera()</b> and
|
5816
5817
|
* <b>endCamera()</b> cannot be nested.
|
5817
5818
|
*
|
5818
|
-
|
5819
|
+
|
5819
5820
|
*
|
5820
5821
|
* @webref lights_camera:camera
|
5821
5822
|
* @see PGraphics#camera()
|
@@ -5836,7 +5837,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5836
5837
|
* advanced customization of the camera space. Please see the reference for
|
5837
5838
|
* <b>beginCamera()</b> for a description of how the functions are used.
|
5838
5839
|
*
|
5839
|
-
|
5840
|
+
|
5840
5841
|
*
|
5841
5842
|
* @webref lights_camera:camera
|
5842
5843
|
* @see PGraphics#beginCamera()
|
@@ -5859,7 +5860,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5859
5860
|
* 180.0), width/2.0, height/2.0, 0, 0, 1, 0)</b>. This function is similar
|
5860
5861
|
* to <b>gluLookAt()</b> in OpenGL, but it first clears the current camera settings.
|
5861
5862
|
*
|
5862
|
-
|
5863
|
+
|
5863
5864
|
*
|
5864
5865
|
* @webref lights_camera:camera
|
5865
5866
|
* @see PGraphics#beginCamera()
|
@@ -5893,7 +5894,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5893
5894
|
* Prints the current camera matrix to the Console (the text window at the
|
5894
5895
|
* bottom of Processing).
|
5895
5896
|
*
|
5896
|
-
|
5897
|
+
|
5897
5898
|
* @webref lights_camera:camera
|
5898
5899
|
* @see PGraphics#camera(float, float, float, float, float, float, float, float, float)
|
5899
5900
|
*/
|
@@ -5919,7 +5920,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5919
5920
|
* parameters are given, the default is used: ortho(0, width, 0, height,
|
5920
5921
|
* -10, 10).
|
5921
5922
|
*
|
5922
|
-
|
5923
|
+
|
5923
5924
|
*
|
5924
5925
|
* @webref lights_camera:camera
|
5925
5926
|
*/
|
@@ -5962,7 +5963,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5962
5963
|
* default values are: perspective(PI/3.0, width/height, cameraZ/10.0,
|
5963
5964
|
* cameraZ*10.0) where cameraZ is ((height/2.0) / tan(PI*60.0/360.0));
|
5964
5965
|
*
|
5965
|
-
|
5966
|
+
|
5966
5967
|
*
|
5967
5968
|
* @webref lights_camera:camera
|
5968
5969
|
*/
|
@@ -5987,7 +5988,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
5987
5988
|
* glFrustum, except it wipes out the current perspective matrix rather
|
5988
5989
|
* than muliplying itself with it.
|
5989
5990
|
*
|
5990
|
-
|
5991
|
+
|
5991
5992
|
*
|
5992
5993
|
* @webref lights_camera:camera
|
5993
5994
|
* @param left left coordinate of the clipping plane
|
@@ -6013,7 +6014,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
6013
6014
|
* Prints the current projection matrix to the Console (the text window at
|
6014
6015
|
* the bottom of Processing).
|
6015
6016
|
*
|
6016
|
-
|
6017
|
+
|
6017
6018
|
*
|
6018
6019
|
* @webref lights_camera:camera
|
6019
6020
|
* @see PGraphics#camera(float, float, float, float, float, float, float, float, float)
|
@@ -6035,7 +6036,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
6035
6036
|
* Takes a three-dimensional X, Y, Z position and returns the X value for
|
6036
6037
|
* where it will appear on a (two-dimensional) screen.
|
6037
6038
|
*
|
6038
|
-
|
6039
|
+
|
6039
6040
|
*
|
6040
6041
|
* @webref lights_camera:coordinates
|
6041
6042
|
* @param x 3D x-coordinate to be mapped
|
@@ -6055,7 +6056,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
6055
6056
|
* Takes a three-dimensional X, Y, Z position and returns the Y value for
|
6056
6057
|
* where it will appear on a (two-dimensional) screen.
|
6057
6058
|
*
|
6058
|
-
|
6059
|
+
|
6059
6060
|
*
|
6060
6061
|
* @webref lights_camera:coordinates
|
6061
6062
|
* @param x 3D x-coordinate to be mapped
|
@@ -6071,6 +6072,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
6071
6072
|
|
6072
6073
|
/**
|
6073
6074
|
* @param z 3D z-coordinate to be mapped
|
6075
|
+
* @return
|
6074
6076
|
*/
|
6075
6077
|
public float screenX(float x, float y, float z) {
|
6076
6078
|
showMissingWarning("screenX");
|
@@ -6092,10 +6094,10 @@ public class PGraphics extends PImage implements PConstants {
|
|
6092
6094
|
* ( begin auto-generated from screenZ.xml )
|
6093
6095
|
*
|
6094
6096
|
* Takes a three-dimensional X, Y, Z position and returns the Z value for
|
6095
|
-
* where it will appear on a (two-dimensional) screen.
|
6097
|
+
* where it will appear on a (two-dimensional) screen.( end auto-generated )
|
6096
6098
|
*
|
6097
|
-
* ( end auto-generated )
|
6098
6099
|
*
|
6100
|
+
* @return
|
6099
6101
|
* @webref lights_camera:coordinates
|
6100
6102
|
* @param x 3D x-coordinate to be mapped
|
6101
6103
|
* @param y 3D y-coordinate to be mapped
|
@@ -6112,21 +6114,20 @@ public class PGraphics extends PImage implements PConstants {
|
|
6112
6114
|
/**
|
6113
6115
|
* ( begin auto-generated from modelX.xml )
|
6114
6116
|
*
|
6115
|
-
* Returns the three-dimensional X, Y, Z position in model space.
|
6116
|
-
|
6117
|
-
|
6118
|
-
|
6119
|
-
|
6120
|
-
*
|
6121
|
-
* In the example, the <b>modelX()</b>, <b>modelY()</b>, and
|
6117
|
+
* Returns the three-dimensional X, Y, Z position in model space.This
|
6118
|
+
returns the X value for a given coordinate based on the current set of
|
6119
|
+
transformations (scale, rotate, translate, etc.) The X value can be used
|
6120
|
+
to place an object in space relative to the location of the original
|
6121
|
+
point once the transformations are no longer in use. In the example, the <b>modelX()</b>, <b>modelY()</b>, and
|
6122
6122
|
* <b>modelZ()</b> functions record the location of a box in space after
|
6123
6123
|
* being placed using a series of translate and rotate commands. After
|
6124
6124
|
* popMatrix() is called, those transformations no longer apply, but the
|
6125
6125
|
* (x, y, z) coordinate returned by the model functions is used to place
|
6126
6126
|
* another box in the same location.
|
6127
6127
|
*
|
6128
|
-
|
6128
|
+
|
6129
6129
|
*
|
6130
|
+
* @return
|
6130
6131
|
* @webref lights_camera:coordinates
|
6131
6132
|
* @param x 3D x-coordinate to be mapped
|
6132
6133
|
* @param y 3D y-coordinate to be mapped
|
@@ -6143,21 +6144,20 @@ public class PGraphics extends PImage implements PConstants {
|
|
6143
6144
|
/**
|
6144
6145
|
* ( begin auto-generated from modelY.xml )
|
6145
6146
|
*
|
6146
|
-
* Returns the three-dimensional X, Y, Z position in model space.
|
6147
|
-
|
6148
|
-
|
6149
|
-
|
6150
|
-
|
6151
|
-
*
|
6152
|
-
* In the example, the <b>modelX()</b>, <b>modelY()</b>, and
|
6147
|
+
* Returns the three-dimensional X, Y, Z position in model space.This
|
6148
|
+
returns the Y value for a given coordinate based on the current set of
|
6149
|
+
transformations (scale, rotate, translate, etc.) The Y value can be used
|
6150
|
+
to place an object in space relative to the location of the original
|
6151
|
+
point once the transformations are no longer in use. In the example, the <b>modelX()</b>, <b>modelY()</b>, and
|
6153
6152
|
* <b>modelZ()</b> functions record the location of a box in space after
|
6154
6153
|
* being placed using a series of translate and rotate commands. After
|
6155
6154
|
* popMatrix() is called, those transformations no longer apply, but the
|
6156
6155
|
* (x, y, z) coordinate returned by the model functions is used to place
|
6157
6156
|
* another box in the same location.
|
6158
6157
|
*
|
6159
|
-
|
6158
|
+
|
6160
6159
|
*
|
6160
|
+
* @return
|
6161
6161
|
* @webref lights_camera:coordinates
|
6162
6162
|
* @param x 3D x-coordinate to be mapped
|
6163
6163
|
* @param y 3D y-coordinate to be mapped
|
@@ -6174,21 +6174,20 @@ public class PGraphics extends PImage implements PConstants {
|
|
6174
6174
|
/**
|
6175
6175
|
* ( begin auto-generated from modelZ.xml )
|
6176
6176
|
*
|
6177
|
-
* Returns the three-dimensional X, Y, Z position in model space.
|
6178
|
-
|
6179
|
-
|
6180
|
-
|
6181
|
-
|
6182
|
-
*
|
6183
|
-
* In the example, the <b>modelX()</b>, <b>modelY()</b>, and
|
6177
|
+
* Returns the three-dimensional X, Y, Z position in model space.This
|
6178
|
+
returns the Z value for a given coordinate based on the current set of
|
6179
|
+
transformations (scale, rotate, translate, etc.) The Z value can be used
|
6180
|
+
to place an object in space relative to the location of the original
|
6181
|
+
point once the transformations are no longer in use. In the example, the <b>modelX()</b>, <b>modelY()</b>, and
|
6184
6182
|
* <b>modelZ()</b> functions record the location of a box in space after
|
6185
6183
|
* being placed using a series of translate and rotate commands. After
|
6186
6184
|
* popMatrix() is called, those transformations no longer apply, but the
|
6187
6185
|
* (x, y, z) coordinate returned by the model functions is used to place
|
6188
6186
|
* another box in the same location.
|
6189
6187
|
*
|
6190
|
-
|
6188
|
+
|
6191
6189
|
*
|
6190
|
+
* @return
|
6192
6191
|
* @webref lights_camera:coordinates
|
6193
6192
|
* @param x 3D x-coordinate to be mapped
|
6194
6193
|
* @param y 3D y-coordinate to be mapped
|
@@ -6217,7 +6216,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
6217
6216
|
* <b>pushStyle()</b>, it builds on the current style information. The
|
6218
6217
|
* <b>pushStyle()</b> and <b>popStyle()</b> functions can be embedded to
|
6219
6218
|
* provide more control (see the second example above for a demonstration.)
|
6220
|
-
*
|
6219
|
+
*
|
6221
6220
|
* The style information controlled by the following functions are included
|
6222
6221
|
* in the style:
|
6223
6222
|
* fill(), stroke(), tint(), strokeWeight(), strokeCap(), strokeJoin(),
|
@@ -6225,7 +6224,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
6225
6224
|
* textAlign(), textFont(), textMode(), textSize(), textLeading(),
|
6226
6225
|
* emissive(), specular(), shininess(), ambient()
|
6227
6226
|
*
|
6228
|
-
|
6227
|
+
|
6229
6228
|
*
|
6230
6229
|
* @webref structure
|
6231
6230
|
* @see PGraphics#popStyle()
|
@@ -6252,7 +6251,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
6252
6251
|
* <b>pushStyle()</b> and <b>popStyle()</b> functions can be embedded to
|
6253
6252
|
* provide more control (see the second example above for a demonstration.)
|
6254
6253
|
*
|
6255
|
-
|
6254
|
+
|
6256
6255
|
*
|
6257
6256
|
* @webref structure
|
6258
6257
|
* @see PGraphics#pushStyle()
|
@@ -6410,7 +6409,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
6410
6409
|
*
|
6411
6410
|
* Sets the width of the stroke used for lines, points, and the border
|
6412
6411
|
* around shapes. All widths are set in units of pixels.
|
6413
|
-
*
|
6412
|
+
*
|
6414
6413
|
* When drawing with P3D, series of connected lines (such as the stroke
|
6415
6414
|
* around a polygon, triangle, or ellipse) produce unattractive results
|
6416
6415
|
* when a thick stroke weight is set (<a
|
@@ -6420,7 +6419,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
6420
6419
|
* operating system's OpenGL implementation. For instance, the thickness
|
6421
6420
|
* may not go higher than 10 pixels.
|
6422
6421
|
*
|
6423
|
-
|
6422
|
+
|
6424
6423
|
*
|
6425
6424
|
* @webref shape:attributes
|
6426
6425
|
* @param weight the weight (in pixels) of the stroke
|
@@ -6439,13 +6438,13 @@ public class PGraphics extends PImage implements PConstants {
|
|
6439
6438
|
* are either mitered, beveled, or rounded and specified with the
|
6440
6439
|
* corresponding parameters MITER, BEVEL, and ROUND. The default joint is
|
6441
6440
|
* MITER.
|
6442
|
-
*
|
6441
|
+
*
|
6443
6442
|
* This function is not available with the P3D renderer, (<a
|
6444
6443
|
* href="http://code.google.com/p/processing/issues/detail?id=123">see
|
6445
6444
|
* Issue 123</a>). More information about the renderers can be found in the
|
6446
6445
|
* <b>size()</b> reference.
|
6447
6446
|
*
|
6448
|
-
|
6447
|
+
|
6449
6448
|
*
|
6450
6449
|
* @webref shape:attributes
|
6451
6450
|
* @param join either MITER, BEVEL, ROUND
|
@@ -6463,13 +6462,13 @@ public class PGraphics extends PImage implements PConstants {
|
|
6463
6462
|
* Sets the style for rendering line endings. These ends are either
|
6464
6463
|
* squared, extended, or rounded and specified with the corresponding
|
6465
6464
|
* parameters SQUARE, PROJECT, and ROUND. The default cap is ROUND.
|
6466
|
-
*
|
6465
|
+
*
|
6467
6466
|
* This function is not available with the P3D renderer (<a
|
6468
6467
|
* href="http://code.google.com/p/processing/issues/detail?id=123">see
|
6469
6468
|
* Issue 123</a>). More information about the renderers can be found in the
|
6470
6469
|
* <b>size()</b> reference.
|
6471
6470
|
*
|
6472
|
-
|
6471
|
+
|
6473
6472
|
*
|
6474
6473
|
* @webref shape:attributes
|
6475
6474
|
* @param cap either SQUARE, PROJECT, or ROUND
|
@@ -6495,7 +6494,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
6495
6494
|
* Disables drawing the stroke (outline). If both <b>noStroke()</b> and
|
6496
6495
|
* <b>noFill()</b> are called, nothing will be drawn to the screen.
|
6497
6496
|
*
|
6498
|
-
|
6497
|
+
|
6499
6498
|
*
|
6500
6499
|
* @webref color:setting
|
6501
6500
|
* @see PGraphics#stroke(int, float)
|
@@ -6514,7 +6513,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
6514
6513
|
* is either specified in terms of the RGB or HSB color depending on the
|
6515
6514
|
* current <b>colorMode()</b> (the default color space is RGB, with each
|
6516
6515
|
* value in the range from 0 to 255).
|
6517
|
-
*
|
6516
|
+
*
|
6518
6517
|
* When using hexadecimal notation to specify a color, use "#" or "0x"
|
6519
6518
|
* before the values (e.g. #CCFFAA, 0xFFCCFFAA). The # syntax uses six
|
6520
6519
|
* digits to specify a color (the way colors are specified in HTML and
|
@@ -6522,12 +6521,12 @@ public class PGraphics extends PImage implements PConstants {
|
|
6522
6521
|
* hexadecimal value must be specified with eight characters; the first two
|
6523
6522
|
* characters define the alpha component and the remainder the red, green,
|
6524
6523
|
* and blue components.
|
6525
|
-
*
|
6524
|
+
*
|
6526
6525
|
* The value for the parameter "gray" must be less than or equal to the
|
6527
6526
|
* current maximum value as specified by <b>colorMode()</b>. The default
|
6528
6527
|
* maximum value is 255.
|
6529
6528
|
*
|
6530
|
-
|
6529
|
+
|
6531
6530
|
*
|
6532
6531
|
* @param rgb color value in hexadecimal notation
|
6533
6532
|
* @see PGraphics#noStroke()
|
@@ -6615,7 +6614,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
6615
6614
|
* Removes the current fill value for displaying images and reverts to
|
6616
6615
|
* displaying images with their original hues.
|
6617
6616
|
*
|
6618
|
-
|
6617
|
+
|
6619
6618
|
*
|
6620
6619
|
* @webref image:loading_displaying
|
6621
6620
|
* @usage web_application
|
@@ -6632,12 +6631,12 @@ public class PGraphics extends PImage implements PConstants {
|
|
6632
6631
|
*
|
6633
6632
|
* Sets the fill value for displaying images. Images can be tinted to
|
6634
6633
|
* specified colors or made transparent by setting the alpha.
|
6635
|
-
*
|
6634
|
+
*
|
6636
6635
|
* To make an image transparent, but not change it's color, use white as
|
6637
6636
|
* the tint color and specify an alpha value. For instance, tint(255, 128)
|
6638
6637
|
* will make an image 50% transparent (unless <b>colorMode()</b> has been
|
6639
6638
|
* used).
|
6640
|
-
*
|
6639
|
+
*
|
6641
6640
|
* When using hexadecimal notation to specify a color, use "#" or "0x"
|
6642
6641
|
* before the values (e.g. #CCFFAA, 0xFFCCFFAA). The # syntax uses six
|
6643
6642
|
* digits to specify a color (the way colors are specified in HTML and
|
@@ -6645,15 +6644,15 @@ public class PGraphics extends PImage implements PConstants {
|
|
6645
6644
|
* hexadecimal value must be specified with eight characters; the first two
|
6646
6645
|
* characters define the alpha component and the remainder the red, green,
|
6647
6646
|
* and blue components.
|
6648
|
-
*
|
6647
|
+
*
|
6649
6648
|
* The value for the parameter "gray" must be less than or equal to the
|
6650
6649
|
* current maximum value as specified by <b>colorMode()</b>. The default
|
6651
6650
|
* maximum value is 255.
|
6652
|
-
*
|
6651
|
+
*
|
6653
6652
|
* The <b>tint()</b> function is also used to control the coloring of
|
6654
6653
|
* textures in 3D.
|
6655
6654
|
*
|
6656
|
-
|
6655
|
+
|
6657
6656
|
*
|
6658
6657
|
* @webref image:loading_displaying
|
6659
6658
|
* @usage web_application
|
@@ -6734,7 +6733,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
6734
6733
|
* Disables filling geometry. If both <b>noStroke()</b> and <b>noFill()</b>
|
6735
6734
|
* are called, nothing will be drawn to the screen.
|
6736
6735
|
*
|
6737
|
-
|
6736
|
+
|
6738
6737
|
*
|
6739
6738
|
* @webref color:setting
|
6740
6739
|
* @usage web_application
|
@@ -6755,7 +6754,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
6755
6754
|
* color is either specified in terms of the RGB or HSB color depending on
|
6756
6755
|
* the current <b>colorMode()</b> (the default color space is RGB, with
|
6757
6756
|
* each value in the range from 0 to 255).
|
6758
|
-
*
|
6757
|
+
*
|
6759
6758
|
* When using hexadecimal notation to specify a color, use "#" or "0x"
|
6760
6759
|
* before the values (e.g. #CCFFAA, 0xFFCCFFAA). The # syntax uses six
|
6761
6760
|
* digits to specify a color (the way colors are specified in HTML and
|
@@ -6763,14 +6762,14 @@ public class PGraphics extends PImage implements PConstants {
|
|
6763
6762
|
* hexadecimal value must be specified with eight characters; the first two
|
6764
6763
|
* characters define the alpha component and the remainder the red, green,
|
6765
6764
|
* and blue components.
|
6766
|
-
*
|
6765
|
+
*
|
6767
6766
|
* The value for the parameter "gray" must be less than or equal to the
|
6768
6767
|
* current maximum value as specified by <b>colorMode()</b>. The default
|
6769
6768
|
* maximum value is 255.
|
6770
|
-
*
|
6769
|
+
*
|
6771
6770
|
* To change the color of an image (or a texture), use tint().
|
6772
6771
|
*
|
6773
|
-
|
6772
|
+
|
6774
6773
|
*
|
6775
6774
|
* @webref color:setting
|
6776
6775
|
* @usage web_application
|
@@ -6859,7 +6858,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
6859
6858
|
* reflect. Used in combination with <b>emissive()</b>, <b>specular()</b>,
|
6860
6859
|
* and <b>shininess()</b> in setting the material properties of shapes.
|
6861
6860
|
*
|
6862
|
-
|
6861
|
+
|
6863
6862
|
*
|
6864
6863
|
* @webref lights_camera:material_properties
|
6865
6864
|
* @usage web_application
|
@@ -6917,7 +6916,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
6917
6916
|
* with <b>emissive()</b>, <b>ambient()</b>, and <b>shininess()</b> in
|
6918
6917
|
* setting the material properties of shapes.
|
6919
6918
|
*
|
6920
|
-
|
6919
|
+
|
6921
6920
|
*
|
6922
6921
|
* @webref lights_camera:material_properties
|
6923
6922
|
* @usage web_application
|
@@ -6942,6 +6941,8 @@ public class PGraphics extends PImage implements PConstants {
|
|
6942
6941
|
|
6943
6942
|
/**
|
6944
6943
|
* gray number specifying value between white and black
|
6944
|
+
*
|
6945
|
+
* @param gray value between black and white, by default 0 to 255
|
6945
6946
|
*/
|
6946
6947
|
public void specular(float gray) {
|
6947
6948
|
colorCalc(gray);
|
@@ -6975,7 +6976,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
6975
6976
|
* with <b>ambient()</b>, <b>specular()</b>, and <b>emissive()</b> in
|
6976
6977
|
* setting the material properties of shapes.
|
6977
6978
|
*
|
6978
|
-
|
6979
|
+
|
6979
6980
|
*
|
6980
6981
|
* @webref lights_camera:material_properties
|
6981
6982
|
* @usage web_application
|
@@ -6996,7 +6997,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
6996
6997
|
* <b>specular()</b>, and <b>shininess()</b> in setting the material
|
6997
6998
|
* properties of shapes.
|
6998
6999
|
*
|
6999
|
-
|
7000
|
+
|
7000
7001
|
*
|
7001
7002
|
* @webref lights_camera:material_properties
|
7002
7003
|
* @usage web_application
|
@@ -7019,6 +7020,8 @@ public class PGraphics extends PImage implements PConstants {
|
|
7019
7020
|
|
7020
7021
|
/**
|
7021
7022
|
* gray number specifying value between white and black
|
7023
|
+
*
|
7024
|
+
* @param gray value between black and white, by default 0 to 255
|
7022
7025
|
*/
|
7023
7026
|
public void emissive(float gray) {
|
7024
7027
|
colorCalc(gray);
|
@@ -7064,7 +7067,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
7064
7067
|
* looping program will cause them to only have an effect the first time
|
7065
7068
|
* through the loop.
|
7066
7069
|
*
|
7067
|
-
|
7070
|
+
|
7068
7071
|
*
|
7069
7072
|
* @webref lights_camera:lights
|
7070
7073
|
* @usage web_application
|
@@ -7086,7 +7089,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
7086
7089
|
* lighting so that 2D geometry (which does not require lighting) can be
|
7087
7090
|
* drawn after a set of lighted 3D geometry.
|
7088
7091
|
*
|
7089
|
-
|
7092
|
+
|
7090
7093
|
*
|
7091
7094
|
* @webref lights_camera:lights
|
7092
7095
|
* @usage web_application
|
@@ -7108,7 +7111,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
7108
7111
|
* have an effect the first time through the loop. The effect of the
|
7109
7112
|
* parameters is determined by the current color mode.
|
7110
7113
|
*
|
7111
|
-
|
7114
|
+
|
7112
7115
|
*
|
7113
7116
|
* @webref lights_camera:lights
|
7114
7117
|
* @usage web_application
|
@@ -7149,7 +7152,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
7149
7152
|
* direction the light is facing. For example, setting <b>ny</b> to -1 will
|
7150
7153
|
* cause the geometry to be lit from below (the light is facing directly upward).
|
7151
7154
|
*
|
7152
|
-
|
7155
|
+
|
7153
7156
|
*
|
7154
7157
|
* @webref lights_camera:lights
|
7155
7158
|
* @usage web_application
|
@@ -7180,7 +7183,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
7180
7183
|
* mode. The <b>x</b>, <b>y</b>, and <b>z</b> parameters set the position
|
7181
7184
|
* of the light.
|
7182
7185
|
*
|
7183
|
-
|
7186
|
+
|
7184
7187
|
*
|
7185
7188
|
* @webref lights_camera:lights
|
7186
7189
|
* @usage web_application
|
@@ -7213,7 +7216,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
7213
7216
|
* direction or light. The <b>angle</b> parameter affects angle of the
|
7214
7217
|
* spotlight cone.
|
7215
7218
|
*
|
7216
|
-
|
7219
|
+
|
7217
7220
|
*
|
7218
7221
|
* @webref lights_camera:lights
|
7219
7222
|
* @usage web_application
|
@@ -7256,7 +7259,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
7256
7259
|
* and falloff. You can think of it as a point light that doesn't care
|
7257
7260
|
* which direction a surface is facing.
|
7258
7261
|
*
|
7259
|
-
|
7262
|
+
|
7260
7263
|
*
|
7261
7264
|
* @webref lights_camera:lights
|
7262
7265
|
* @usage web_application
|
@@ -7284,7 +7287,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
7284
7287
|
* specular material qualities set through the <b>specular()</b> and
|
7285
7288
|
* <b>shininess()</b> functions.
|
7286
7289
|
*
|
7287
|
-
|
7290
|
+
|
7288
7291
|
*
|
7289
7292
|
* @webref lights_camera:lights
|
7290
7293
|
* @usage web_application
|
@@ -7315,27 +7318,27 @@ public class PGraphics extends PImage implements PConstants {
|
|
7315
7318
|
* of the Processing window. The default background is light gray. In the
|
7316
7319
|
* <b>draw()</b> function, the background color is used to clear the
|
7317
7320
|
* display window at the beginning of each frame.
|
7318
|
-
*
|
7321
|
+
*
|
7319
7322
|
* An image can also be used as the background for a sketch, however its
|
7320
7323
|
* width and height must be the same size as the sketch window. To resize
|
7321
7324
|
* an image 'b' to the size of the sketch window, use b.resize(width, height).
|
7322
|
-
*
|
7325
|
+
*
|
7323
7326
|
* Images used as background will ignore the current <b>tint()</b> setting.
|
7324
|
-
*
|
7327
|
+
*
|
7325
7328
|
* It is not possible to use transparency (alpha) in background colors with
|
7326
7329
|
* the main drawing surface, however they will work properly with <b>createGraphics()</b>.
|
7327
7330
|
*
|
7328
|
-
|
7331
|
+
|
7329
7332
|
*
|
7330
7333
|
* <h3>Advanced</h3>
|
7331
7334
|
* <p>Clear the background with a color that includes an alpha value. This can
|
7332
7335
|
* only be used with objects created by createGraphics(), because the main
|
7333
|
-
* drawing surface cannot be set transparent
|
7336
|
+
* drawing surface cannot be set transparent.
|
7334
7337
|
* <p>It might be tempting to use this function to partially clear the screen
|
7335
7338
|
* on each frame, however that's not how this function works. When calling
|
7336
7339
|
* background(), the pixels will be replaced with pixels that have that level
|
7337
7340
|
* of transparency. To do a semi-transparent overlay, use fill() with alpha
|
7338
|
-
* and draw a rectangle
|
7341
|
+
* and draw a rectangle.
|
7339
7342
|
*
|
7340
7343
|
* @webref color:setting
|
7341
7344
|
* @usage web_application
|
@@ -7453,12 +7456,12 @@ public class PGraphics extends PImage implements PConstants {
|
|
7453
7456
|
* Takes an RGB or ARGB image and sets it as the background.
|
7454
7457
|
* The width and height of the image must be the same size as the sketch.
|
7455
7458
|
* Use image.resize(width, height) to make short work of such a task.
|
7456
|
-
*
|
7459
|
+
*
|
7457
7460
|
* Note that even if the image is set as RGB, the high 8 bits of each pixel
|
7458
7461
|
* should be set opaque (0xFF000000) because the image data will be copied
|
7459
7462
|
* directly to the screen, and non-opaque background images may have strange
|
7460
7463
|
* behavior. Use image.filter(OPAQUE) to handle this easily.
|
7461
|
-
*
|
7464
|
+
*
|
7462
7465
|
* When using 3D, this will also clear the zbuffer (if it exists).
|
7463
7466
|
*
|
7464
7467
|
* @param image PImage to set as background (must be same size as the sketch window)
|
@@ -7545,7 +7548,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
7545
7548
|
* are specified between 0 and 1. The limits for defining colors are
|
7546
7549
|
* altered by setting the parameters range1, range2, range3, and range 4.
|
7547
7550
|
*
|
7548
|
-
|
7551
|
+
|
7549
7552
|
*
|
7550
7553
|
* @webref color:setting
|
7551
7554
|
* @usage web_application
|
@@ -7883,7 +7886,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
7883
7886
|
*
|
7884
7887
|
* Extracts the alpha value from a color.
|
7885
7888
|
*
|
7886
|
-
|
7889
|
+
|
7887
7890
|
* @webref color:creating_reading
|
7888
7891
|
* @usage web_application
|
7889
7892
|
* @param rgb any value of the color datatype
|
@@ -7914,7 +7917,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
7914
7917
|
* /><pre>float r1 = red(myColor);float r2 = myColor >> 16
|
7915
7918
|
* & 0xFF;</pre>
|
7916
7919
|
*
|
7917
|
-
|
7920
|
+
|
7918
7921
|
*
|
7919
7922
|
* @webref color:creating_reading
|
7920
7923
|
* @usage web_application
|
@@ -7947,7 +7950,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
7947
7950
|
* are equivalent:<pre>float r1 = green(myColor);float r2 =
|
7948
7951
|
* myColor >> 8 & 0xFF;</pre>
|
7949
7952
|
*
|
7950
|
-
|
7953
|
+
|
7951
7954
|
*
|
7952
7955
|
* @webref color:creating_reading
|
7953
7956
|
* @usage web_application
|
@@ -7980,7 +7983,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
7980
7983
|
* equivalent:<pre>float r1 = blue(myColor);float r2 = myColor
|
7981
7984
|
* & 0xFF;</pre>
|
7982
7985
|
*
|
7983
|
-
|
7986
|
+
|
7984
7987
|
*
|
7985
7988
|
* @webref color:creating_reading
|
7986
7989
|
* @usage web_application
|
@@ -8003,9 +8006,9 @@ public class PGraphics extends PImage implements PConstants {
|
|
8003
8006
|
/**
|
8004
8007
|
* ( begin auto-generated from hue.xml )
|
8005
8008
|
*
|
8006
|
-
* Extracts the hue value from a color.
|
8009
|
+
* Extracts the hue value from a color.( end auto-generated )
|
8007
8010
|
*
|
8008
|
-
*
|
8011
|
+
* @return
|
8009
8012
|
* @webref color:creating_reading
|
8010
8013
|
* @usage web_application
|
8011
8014
|
* @param rgb any value of the color datatype
|
@@ -8029,9 +8032,9 @@ public class PGraphics extends PImage implements PConstants {
|
|
8029
8032
|
/**
|
8030
8033
|
* ( begin auto-generated from saturation.xml )
|
8031
8034
|
*
|
8032
|
-
* Extracts the saturation value from a color.
|
8035
|
+
* Extracts the saturation value from a color.( end auto-generated )
|
8033
8036
|
*
|
8034
|
-
*
|
8037
|
+
* @return
|
8035
8038
|
* @webref color:creating_reading
|
8036
8039
|
* @usage web_application
|
8037
8040
|
* @param rgb any value of the color datatype
|
@@ -8055,10 +8058,10 @@ public class PGraphics extends PImage implements PConstants {
|
|
8055
8058
|
/**
|
8056
8059
|
* ( begin auto-generated from brightness.xml )
|
8057
8060
|
*
|
8058
|
-
* Extracts the brightness value from a color.
|
8061
|
+
* Extracts the brightness value from a color.( end auto-generated )
|
8059
8062
|
*
|
8060
|
-
* ( end auto-generated )
|
8061
8063
|
*
|
8064
|
+
* @return
|
8062
8065
|
* @webref color:creating_reading
|
8063
8066
|
* @usage web_application
|
8064
8067
|
* @param rgb any value of the color datatype
|
@@ -8095,7 +8098,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
8095
8098
|
* values where 0.0 equal to the first point, 0.1 is very near the first
|
8096
8099
|
* point, 0.5 is half-way in between, etc.
|
8097
8100
|
*
|
8098
|
-
|
8101
|
+
|
8099
8102
|
*
|
8100
8103
|
* @webref color:creating_reading
|
8101
8104
|
* @usage web_application
|
@@ -8194,6 +8197,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
8194
8197
|
|
8195
8198
|
/**
|
8196
8199
|
* Record individual lines and triangles by echoing them to another renderer.
|
8200
|
+
* @param rawGraphics
|
8197
8201
|
*/
|
8198
8202
|
public void beginRaw(PGraphics rawGraphics) { // ignore
|
8199
8203
|
this.raw = rawGraphics;
|
@@ -8251,6 +8255,8 @@ public class PGraphics extends PImage implements PConstants {
|
|
8251
8255
|
|
8252
8256
|
/**
|
8253
8257
|
* Version of showWarning() that takes a parsed String.
|
8258
|
+
* @param msg
|
8259
|
+
* @param args
|
8254
8260
|
*/
|
8255
8261
|
static public void showWarning(String msg, Object... args) { // ignore
|
8256
8262
|
showWarning(String.format(msg, args));
|
@@ -8282,6 +8288,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
8282
8288
|
|
8283
8289
|
/**
|
8284
8290
|
* Display a warning that the specified method is simply unavailable.
|
8291
|
+
* @param method
|
8285
8292
|
*/
|
8286
8293
|
static public void showMethodWarning(String method) {
|
8287
8294
|
showWarning(method + "() is not available with this renderer.");
|
@@ -8290,8 +8297,9 @@ public class PGraphics extends PImage implements PConstants {
|
|
8290
8297
|
|
8291
8298
|
/**
|
8292
8299
|
* Error that a particular variation of a method is unavailable (even though
|
8293
|
-
* other variations are).
|
8294
|
-
|
8300
|
+
* other variations are).For instance, if vertex(x, y, u, v) is not
|
8301
|
+
available, but vertex(x, y) is just fine.
|
8302
|
+
* @param str
|
8295
8303
|
*/
|
8296
8304
|
static public void showVariationWarning(String str) {
|
8297
8305
|
showWarning(str + " is not available with this renderer.");
|
@@ -8302,6 +8310,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
8302
8310
|
* Display a warning that the specified method is not implemented, meaning
|
8303
8311
|
* that it could be either a completely missing function, although other
|
8304
8312
|
* variations of it may still work properly.
|
8313
|
+
* @param method
|
8305
8314
|
*/
|
8306
8315
|
static public void showMissingWarning(String method) {
|
8307
8316
|
showWarning(method + "(), or this particular variation of it, " +
|
@@ -8310,9 +8319,10 @@ public class PGraphics extends PImage implements PConstants {
|
|
8310
8319
|
|
8311
8320
|
|
8312
8321
|
/**
|
8313
|
-
* Show an renderer-related exception that halts the program.
|
8314
|
-
|
8315
|
-
|
8322
|
+
* Show an renderer-related exception that halts the program.Currently just
|
8323
|
+
wraps the message as a RuntimeException and throws it, but might do
|
8324
|
+
something more specific might be used in the future.
|
8325
|
+
* @param msg
|
8316
8326
|
*/
|
8317
8327
|
static public void showException(String msg) { // ignore
|
8318
8328
|
throw new RuntimeException(msg);
|
@@ -8321,6 +8331,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
8321
8331
|
|
8322
8332
|
/**
|
8323
8333
|
* Same as below, but defaults to a 12 point font, just as MacWrite intended.
|
8334
|
+
* @param method
|
8324
8335
|
*/
|
8325
8336
|
protected void defaultFontOrDeath(String method) {
|
8326
8337
|
defaultFontOrDeath(method, 12);
|
@@ -8331,6 +8342,8 @@ public class PGraphics extends PImage implements PConstants {
|
|
8331
8342
|
* First try to create a default font, but if that's not possible, throw
|
8332
8343
|
* an exception that halts the program because textFont() has not been used
|
8333
8344
|
* prior to the specified method.
|
8345
|
+
* @param method
|
8346
|
+
* @param size
|
8334
8347
|
*/
|
8335
8348
|
protected void defaultFontOrDeath(String method, float size) {
|
8336
8349
|
if (parent != null) {
|
@@ -8351,7 +8364,7 @@ public class PGraphics extends PImage implements PConstants {
|
|
8351
8364
|
* Return true if this renderer should be drawn to the screen. Defaults to
|
8352
8365
|
* returning true, since nearly all renderers are on-screen beasts. But can
|
8353
8366
|
* be overridden for subclasses like PDF so that a window doesn't open up.
|
8354
|
-
*
|
8367
|
+
*
|
8355
8368
|
* A better name? showFrame, displayable, isVisible, visible, shouldDisplay,
|
8356
8369
|
* what to call this?
|
8357
8370
|
*/
|