picrate 2.0.1-java → 2.3.0-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
*/
|