Package processing.opengl
Class PShapeOpenGL
java.lang.Object
processing.core.PShape
processing.opengl.PShapeOpenGL
- All Implemented Interfaces:
PConstants
This class holds a 3D model composed of vertices, normals, colors
(per vertex) and texture coordinates (also per vertex). All this data is
stored in Vertex Buffer Objects (VBO) in GPU memory for very fast access.
OBJ loading implemented using code from Saito's OBJLoader library:
http://code.google.com/p/saitoobjloader/
and OBJReader from Ahmet Kizilay
http://www.openprocessing.org/visuals/?visualID=191
By Andres Colubri
Other formats to consider:
AMF: http://en.wikipedia.org/wiki/Additive_Manufacturing_File_Format
STL: http://en.wikipedia.org/wiki/STL_(file_format)
OFF: http://people.sc.fsu.edu/~jburkardt/data/off/off.html(file_format)
DXF: http://en.wikipedia.org/wiki/AutoCAD_DXF
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected int
protected boolean
protected VertexBuffer
protected VertexBuffer
protected VertexBuffer
protected VertexBuffer
protected VertexBuffer
protected VertexBuffer
protected VertexBuffer
protected VertexBuffer
protected VertexBuffer
protected VertexBuffer
protected VertexBuffer
protected VertexBuffer
protected VertexBuffer
protected VertexBuffer
protected VertexBuffer
protected VertexBuffer
protected VertexBuffer
protected int
protected int
protected float
static final int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected boolean
protected boolean
protected boolean
protected PGraphicsOpenGL.InGeometry
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected static final int
protected PMatrix
protected boolean
protected boolean
protected boolean
protected boolean
protected boolean
protected boolean
protected boolean
protected boolean
protected boolean
protected boolean
protected boolean
protected boolean
protected boolean
protected boolean
protected boolean
protected boolean
static final int
protected static final int
protected static final int
protected static final int
protected int
protected float
protected float
protected float
static final int
protected PGraphicsOpenGL
protected PGL
protected int
protected int
protected int
protected int
protected int
protected int
protected PGraphicsOpenGL.AttributeMap
protected int
protected int
protected int
protected int
protected int
protected int
static final int
protected PShapeOpenGL
protected static final int
protected int
protected int
protected int
protected float
protected int
protected boolean
protected int
protected float
protected int
protected boolean
protected int
protected int
protected int
protected float
protected int
protected boolean
protected int
protected static final int
protected boolean
protected boolean
protected boolean
protected boolean
protected PGraphicsOpenGL.Tessellator
protected PGraphicsOpenGL.TessGeometry
static final int
protected PMatrix
protected PMatrix
protected static final int
protected boolean
Fields inherited from class processing.core.PShape
ambientColor, calcA, calcAi, calcAlpha, calcB, calcBi, calcColor, calcG, calcGi, calcR, calcRi, childCount, children, close, colorMode, colorModeA, colorModeX, colorModeY, colorModeZ, depth, ellipseMode, emissiveColor, family, fill, fillColor, GEOMETRY, height, image, imagePath, INSIDE_BEGIN_END_ERROR, is3D, kind, matrix, name, nameTable, NO_SUCH_VERTEX_ERROR, NO_VERTICES_ERROR, NOT_A_SIMPLE_VERTEX, openContour, openShape, OUTSIDE_BEGIN_END_ERROR, params, parent, PATH, PER_VERTEX_UNSUPPORTED, perVertexStyles, PRIMITIVE, rectMode, setAmbient, shininess, specularColor, sphereDetailU, sphereDetailV, stroke, strokeCap, strokeColor, strokeJoin, strokeWeight, style, textureMode, tint, tintColor, vertexCodeCount, vertexCodes, vertexCount, vertices, visible, width
Fields inherited from interface processing.core.PConstants
ADD, ALPHA, ALT, AMBIENT, ARC, ARGB, ARROW, BACKSPACE, BASELINE, BEVEL, BEZIER_VERTEX, BLEND, BLUR, BOTTOM, BOX, BREAK, BURN, CENTER, CHATTER, CHORD, CLAMP, CLOSE, CODED, COMPLAINT, CONTROL, CORNER, CORNERS, CROSS, CURVE_VERTEX, CUSTOM, DARKEST, DEG_TO_RAD, DELETE, DIAMETER, DIFFERENCE, DILATE, DIRECTIONAL, DISABLE_ASYNC_SAVEFRAME, DISABLE_BUFFER_READING, DISABLE_DEPTH_MASK, DISABLE_DEPTH_SORT, DISABLE_DEPTH_TEST, DISABLE_KEY_REPEAT, DISABLE_NATIVE_FONTS, DISABLE_OPENGL_ERRORS, DISABLE_OPTIMIZED_STROKE, DISABLE_STROKE_PERSPECTIVE, DISABLE_STROKE_PURE, DISABLE_TEXTURE_MIPMAPS, DODGE, DOWN, DXF, ELLIPSE, ENABLE_ASYNC_SAVEFRAME, ENABLE_BUFFER_READING, ENABLE_DEPTH_MASK, ENABLE_DEPTH_SORT, ENABLE_DEPTH_TEST, ENABLE_KEY_REPEAT, ENABLE_NATIVE_FONTS, ENABLE_OPENGL_ERRORS, ENABLE_OPTIMIZED_STROKE, ENABLE_STROKE_PERSPECTIVE, ENABLE_STROKE_PURE, ENABLE_TEXTURE_MIPMAPS, ENTER, EPSILON, ERODE, ESC, EXCLUSION, FX2D, GIF, GRAY, GROUP, HALF_PI, HAND, HARD_LIGHT, HINT_COUNT, HSB, IMAGE, INVERT, JAVA2D, JPEG, LANDSCAPE, LEFT, LIGHTEST, LINE, LINE_LOOP, LINE_STRIP, LINES, LINUX, MACOS, MACOSX, MAX_FLOAT, MAX_INT, MIN_FLOAT, MIN_INT, MITER, MODEL, MODELVIEW, MOVE, MULTIPLY, OPAQUE, OPEN, OPENGL, ORTHOGRAPHIC, OTHER, OVERLAY, P2D, P3D, PDF, PERSPECTIVE, PI, PIE, platformNames, POINT, POINTS, POLYGON, PORTRAIT, POSTERIZE, PROBLEM, PROJECT, PROJECTION, QUAD, QUAD_BEZIER_VERTEX, QUAD_STRIP, QUADRATIC_VERTEX, QUADS, QUARTER_PI, RAD_TO_DEG, RADIUS, RECT, REPEAT, REPLACE, RETURN, RGB, RIGHT, ROUND, SCREEN, SHAPE, SHIFT, SOFT_LIGHT, SPAN, SPHERE, SPOT, SQUARE, SUBTRACT, SVG, TAB, TARGA, TAU, TEXT, THIRD_PI, THRESHOLD, TIFF, TOP, TRIANGLE, TRIANGLE_FAN, TRIANGLE_STRIP, TRIANGLES, TWO_PI, UP, VERTEX, WAIT, WHITESPACE, WINDOWS, X, Y, Z
-
Constructor Summary
ConstructorsConstructorDescriptionPShapeOpenGL
(PGraphicsOpenGL pg, int family) PShapeOpenGL
(PGraphicsOpenGL pg, int kind, float... p) Create a shape from the PRIMITIVE family, using this kind and these params -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a child PShape to a parent PShape that is defined as a GROUP.void
protected void
addTexture
(PImage tex) protected void
protected void
void
applyMatrix
(float n00, float n01, float n02, float n10, float n11, float n12) void
applyMatrix
(float n00, float n01, float n02, float n03, float n10, float n11, float n12, float n13, float n20, float n21, float n22, float n23, float n30, float n31, float n32, float n33) void
applyMatrix
(PMatrix2D source) protected void
applyMatrixImpl
(PMatrix matrix) void
void
void
void
attribColor
(String name, int color) protected PGraphicsOpenGL.VertexAttribute
attribImpl
(String name, int kind, int type, int size) void
attribNormal
(String name, float nx, float ny, float nz) void
attribPosition
(String name, float x, float y, float z) protected void
void
beginTessellation
(int kind) void
bezierDetail
(int detail) void
bezierVertex
(float x2, float y2, float x3, float y3, float x4, float y4) void
bezierVertex
(float x2, float y2, float z2, float x3, float y3, float z3, float x4, float y4, float z4) protected void
bezierVertexImpl
(float x2, float y2, float z2, float x3, float y3, float z3, float x4, float y4, float z4) protected void
checkMatrix
(int dimensions) Make sure that the shape's matrix is 1) not null, and 2) has a matrix that can handle at least the specified number of dimensions.protected void
boolean
contains
(float x, float y) Return true if this x, y coordinate is part of this shape.protected boolean
static void
copyGroup
(PGraphicsOpenGL pg, PShape src, PShape dest) protected void
copyLineAttributes
(int offset, int size) protected void
copyLineColors
(int offset, int size) protected void
copyLineVertices
(int offset, int size) protected void
copyPointAttributes
(int offset, int size) protected void
copyPointColors
(int offset, int size) protected void
copyPointVertices
(int offset, int size) protected void
copyPolyAmbient
(int offset, int size) protected void
copyPolyAttrib
(PGraphicsOpenGL.VertexAttribute attrib, int offset, int size) protected void
copyPolyColors
(int offset, int size) protected void
copyPolyEmissive
(int offset, int size) protected void
copyPolyNormals
(int offset, int size) protected void
copyPolyShininess
(int offset, int size) protected void
copyPolySpecular
(int offset, int size) protected void
copyPolyTexCoords
(int offset, int size) protected void
copyPolyVertices
(int offset, int size) static PShapeOpenGL
createShape
(PGraphicsOpenGL pg, PShape src) void
curveDetail
(int detail) void
curveTightness
(float tightness) void
curveVertex
(float x, float y) void
curveVertex
(float x, float y, float z) protected void
curveVertexImpl
(float x, float y, float z) void
Disables the shape's style data and uses Processing's current styles.void
Called by the following (the shape() command adds the g) PShape s = loadShape("blah.svg"); shape(s);protected void
void
Enables the shape's style data and ignores Processing's current styles.protected void
void
endShape
(int mode) void
protected boolean
int
getAmbient
(int index) boolean[]
float[]
int[]
int
getAttribColor
(String name, int index) getAttribNormal
(String name, int index, PVector vec) float
getAttribNormalX
(String name, int index) float
getAttribNormalY
(String name, int index) float
getAttribNormalZ
(String name, int index) getAttribPosition
(String name, int index, PVector vec) float
getAttribPositionX
(String name, int index) float
getAttribPositionY
(String name, int index) float
getAttribPositionZ
(String name, int index) float
getDepth()
Get the depth of the shape area (not necessarily the shape boundary).int
getEmissive
(int index) int
getFill
(int index) float
Get the height of the drawing area (not necessarily the shape boundary).float
getNormalX
(int index) float
getNormalY
(int index) float
getNormalZ
(int index) float
getShininess
(int index) int
getSpecular
(int index) int
getStroke
(int index) float
getStrokeWeight
(int index) Returns a PShape holding the tessellated geometry of this shape, composed entirely of triangles.float
getTextureU
(int index) float
getTextureV
(int index) int
getTint
(int index) int
getVertexCode
(int index) One of VERTEX, BEZIER_VERTEX, CURVE_VERTEX, or BREAK.int
int[]
int
int
getVertexCount
(boolean includeChildren) The getVertexCount() method returns the number of vertices (with an option to count children by passing true as boolean parameter to method call) that make up a PShape.protected void
getVertexMax
(PVector max) protected void
getVertexMin
(PVector min) protected int
getVertexSum
(PVector sum, int count) float
getVertexX
(int index) float
getVertexY
(int index) float
getVertexZ
(int index) float
getWidth()
Get the width of the drawing area (not necessarily the shape boundary).protected boolean
protected boolean
protected boolean
hasTexture
(PImage tex) protected void
protected void
protected void
protected void
protected void
protected void
void
normal
(float nx, float ny, float nz) protected void
protected void
void
quadraticVertex
(float cx, float cy, float x3, float y3) void
quadraticVertex
(float cx, float cy, float cz, float x3, float y3, float z3) protected void
quadraticVertexImpl
(float cx, float cy, float cz, float x3, float y3, float z3) protected void
protected void
protected void
rawPolys
(PGraphicsOpenGL g, PImage textureImage) void
removeChild
(int idx) Remove the child shape with index idx.protected void
removeTexture
(PImage tex, PShapeOpenGL caller) protected void
render
(PGraphicsOpenGL g, PImage texture) protected void
protected void
protected void
renderPolys
(PGraphicsOpenGL g, PImage textureImage) void
Replaces the current matrix of a shape with the identity matrix.protected void
protected void
void
rotate
(float angle) Rotates a shape the amount specified by the angle parameter.void
rotate
(float angle, float v0, float v1, float v2) void
rotateX
(float angle) Rotates a shape around the x-axis the amount specified by the angle parameter.void
rotateY
(float angle) Rotates a shape around the y-axis the amount specified by the angle parameter.void
rotateZ
(float angle) Rotates a shape around the z-axis the amount specified by the angle parameter.protected void
protected void
void
scale
(float s) Increases or decreases the size of a shape by expanding and contracting vertices.void
scale
(float x, float y) void
scale
(float x, float y, float z) protected void
scaleTextureUV
(float uFactor, float vFactor) void
setAmbient
(int ambient) void
setAmbient
(int index, int ambient) protected void
setAmbientImpl
(int ambient) void
void
void
void
setAttribColor
(String name, int index, int color) void
setAttribNormal
(String name, int index, float nx, float ny, float nz) void
setAttribPosition
(String name, int index, float x, float y, float z) void
setEmissive
(int emissive) void
setEmissive
(int index, int emissive) protected void
setEmissiveImpl
(int emissive) void
setFill
(boolean fill) void
setFill
(int fill) The setFill() method defines the fill color of a PShape.void
setFill
(int index, int fill) protected void
setFillImpl
(int fill) protected void
setFirstStrokeVertex
(int n, int vert) protected void
setLastStrokeVertex
(int vert) protected void
setModifiedLineAttributes
(int first, int last) protected void
setModifiedLineColors
(int first, int last) protected void
setModifiedLineVertices
(int first, int last) protected void
setModifiedPointAttributes
(int first, int last) protected void
setModifiedPointColors
(int first, int last) protected void
setModifiedPointVertices
(int first, int last) protected void
setModifiedPolyAmbient
(int first, int last) protected void
setModifiedPolyAttrib
(PGraphicsOpenGL.VertexAttribute attrib, int first, int last) protected void
setModifiedPolyColors
(int first, int last) protected void
setModifiedPolyEmissive
(int first, int last) protected void
setModifiedPolyNormals
(int first, int last) protected void
setModifiedPolyShininess
(int first, int last) protected void
setModifiedPolySpecular
(int first, int last) protected void
setModifiedPolyTexCoords
(int first, int last) protected void
setModifiedPolyVertices
(int first, int last) void
setNormal
(int index, float nx, float ny, float nz) void
setParams
(float[] source) void
setPath
(int vcount, float[][] verts, int ccount, int[] codes) void
setShininess
(float shininess) void
setShininess
(int index, float shine) protected void
setShininessImpl
(float shininess) void
setSpecular
(int specular) void
setSpecular
(int index, int specular) protected void
setSpecularImpl
(int specular) void
setStroke
(boolean stroke) void
setStroke
(int stroke) The setStroke() method defines the outline color of a PShape.void
setStroke
(int index, int stroke) void
setStrokeCap
(int cap) protected void
setStrokeImpl
(boolean stroke) protected void
setStrokeImpl
(int stroke) void
setStrokeJoin
(int join) void
setStrokeWeight
(float weight) void
setStrokeWeight
(int index, float weight) protected void
setStrokeWeightImpl
(float weight) void
setTexture
(PImage tex) protected void
setTextureImpl
(PImage tex) void
setTextureMode
(int mode) protected void
setTextureModeImpl
(int mode) void
setTextureUV
(int index, float u, float v) void
setTint
(boolean tint) void
setTint
(int tint) void
setTint
(int index, int tint) protected void
setTintImpl
(int tint) void
setVertex
(int index, float x, float y) The setVertex() method defines the coordinates of the vertex point located at the position defined by the index parameter.void
setVertex
(int index, float x, float y, float z) void
void
solid
(boolean solid) protected boolean
startStrokedTex
(int n) protected void
strokedTexture
(boolean newValue) protected void
strokedTexture
(boolean newValue, PShapeOpenGL caller) protected void
protected void
protected void
protected void
protected void
protected void
protected void
protected void
protected void
protected void
protected void
protected void
protected void
protected void
transform
(int type, float... args) void
translate
(float tx, float ty) Specifies an amount to displace the shape.void
translate
(float tx, float ty, float tz) protected void
untexChild
(boolean newValue) protected void
untexChild
(boolean newValue, PShapeOpenGL caller) protected void
protected void
protected void
protected void
protected void
protected void
updateRoot
(PShape root) protected void
void
vertex
(float x, float y) void
vertex
(float x, float y, float z) void
vertex
(float x, float y, float u, float v) void
vertex
(float x, float y, float z, float u, float v) protected boolean
protected void
vertexImpl
(float x, float y, float z, float u, float v) Methods inherited from class processing.core.PShape
addName, ambient, ambient, ambient, applyMatrix, applyMatrix, beginContour, beginShape, beginShape, beginTessellation, colorCalc, colorCalc, colorCalc, colorCalc, colorCalc, colorCalc, colorCalcARGB, colorMode, colorMode, colorMode, colorMode, copyGeometry, copyGroup, copyImage, copyMatrix, copyPath, copyPrimitive, copyStyles, createShape, crop, drawGroup, drawImpl, drawPath, drawPrimitive, emissive, emissive, emissive, endContour, endShape, fill, fill, fill, fill, fill, fill, findChild, getChild, getChild, getChildCount, getChildIndex, getChildren, getFamily, getKind, getName, getNormal, getParam, getParams, getParams, getParent, getVertex, is2D, is3D, isClosed, isVisible, noFill, noStroke, noTexture, noTint, parseBase64Image, set3D, setFamily, setKind, setName, setPath, setVisible, shininess, specular, specular, specular, stroke, stroke, stroke, stroke, stroke, stroke, strokeCap, strokeJoin, strokeWeight, texture, textureMode, tint, tint, tint, tint, tint, tint
-
Field Details
-
POSITION
public static final int POSITION- See Also:
-
NORMAL
public static final int NORMAL- See Also:
-
TEXCOORD
public static final int TEXCOORD- See Also:
-
DIRECTION
public static final int DIRECTION- See Also:
-
OFFSET
public static final int OFFSET- See Also:
-
TRANSLATE
protected static final int TRANSLATE- See Also:
-
ROTATE
protected static final int ROTATE- See Also:
-
SCALE
protected static final int SCALE- See Also:
-
MATRIX
protected static final int MATRIX- See Also:
-
pg
-
pgl
-
context
protected int context -
root
-
inGeo
-
tessGeo
-
tessellator
-
polyAttribs
-
textures
-
strokedTexture
protected boolean strokedTexture -
untexChild
protected boolean untexChild -
bufPolyVertex
-
bufPolyColor
-
bufPolyNormal
-
bufPolyTexCoord
-
bufPolyAmbient
-
bufPolySpecular
-
bufPolyEmissive
-
bufPolyShininess
-
bufPolyIndex
-
bufLineVertex
-
bufLineColor
-
bufLineAttrib
-
bufLineIndex
-
bufPointVertex
-
bufPointColor
-
bufPointAttrib
-
bufPointIndex
-
polyVertCopyOffset
protected int polyVertCopyOffset -
polyIndCopyOffset
protected int polyIndCopyOffset -
lineVertCopyOffset
protected int lineVertCopyOffset -
lineIndCopyOffset
protected int lineIndCopyOffset -
pointVertCopyOffset
protected int pointVertCopyOffset -
pointIndCopyOffset
protected int pointIndCopyOffset -
polyIndexOffset
protected int polyIndexOffset -
polyVertexOffset
protected int polyVertexOffset -
polyVertexAbs
protected int polyVertexAbs -
polyVertexRel
protected int polyVertexRel -
lineIndexOffset
protected int lineIndexOffset -
lineVertexOffset
protected int lineVertexOffset -
lineVertexAbs
protected int lineVertexAbs -
lineVertexRel
protected int lineVertexRel -
pointIndexOffset
protected int pointIndexOffset -
pointVertexOffset
protected int pointVertexOffset -
pointVertexAbs
protected int pointVertexAbs -
pointVertexRel
protected int pointVertexRel -
firstPolyIndexCache
protected int firstPolyIndexCache -
lastPolyIndexCache
protected int lastPolyIndexCache -
firstLineIndexCache
protected int firstLineIndexCache -
lastLineIndexCache
protected int lastLineIndexCache -
firstPointIndexCache
protected int firstPointIndexCache -
lastPointIndexCache
protected int lastPointIndexCache -
firstPolyVertex
protected int firstPolyVertex -
lastPolyVertex
protected int lastPolyVertex -
firstLineVertex
protected int firstLineVertex -
lastLineVertex
protected int lastLineVertex -
firstPointVertex
protected int firstPointVertex -
lastPointVertex
protected int lastPointVertex -
transform
-
transformInv
-
matrixInv
-
tessellated
protected boolean tessellated -
needBufferInit
protected boolean needBufferInit -
solid
protected boolean solid -
breakShape
protected boolean breakShape -
shapeCreated
protected boolean shapeCreated -
hasPolys
protected boolean hasPolys -
hasLines
protected boolean hasLines -
hasPoints
protected boolean hasPoints -
bezierDetail
protected int bezierDetail -
curveDetail
protected int curveDetail -
curveTightness
protected float curveTightness -
savedBezierDetail
protected int savedBezierDetail -
savedCurveDetail
protected int savedCurveDetail -
savedCurveTightness
protected float savedCurveTightness -
normalX
protected float normalX -
normalY
protected float normalY -
normalZ
protected float normalZ -
NORMAL_MODE_AUTO
protected static final int NORMAL_MODE_AUTO- See Also:
-
NORMAL_MODE_SHAPE
protected static final int NORMAL_MODE_SHAPE- See Also:
-
NORMAL_MODE_VERTEX
protected static final int NORMAL_MODE_VERTEX- See Also:
-
normalMode
protected int normalMode -
modified
protected boolean modified -
modifiedPolyVertices
protected boolean modifiedPolyVertices -
modifiedPolyColors
protected boolean modifiedPolyColors -
modifiedPolyNormals
protected boolean modifiedPolyNormals -
modifiedPolyTexCoords
protected boolean modifiedPolyTexCoords -
modifiedPolyAmbient
protected boolean modifiedPolyAmbient -
modifiedPolySpecular
protected boolean modifiedPolySpecular -
modifiedPolyEmissive
protected boolean modifiedPolyEmissive -
modifiedPolyShininess
protected boolean modifiedPolyShininess -
modifiedLineVertices
protected boolean modifiedLineVertices -
modifiedLineColors
protected boolean modifiedLineColors -
modifiedLineAttributes
protected boolean modifiedLineAttributes -
modifiedPointVertices
protected boolean modifiedPointVertices -
modifiedPointColors
protected boolean modifiedPointColors -
modifiedPointAttributes
protected boolean modifiedPointAttributes -
firstModifiedPolyVertex
protected int firstModifiedPolyVertex -
lastModifiedPolyVertex
protected int lastModifiedPolyVertex -
firstModifiedPolyColor
protected int firstModifiedPolyColor -
lastModifiedPolyColor
protected int lastModifiedPolyColor -
firstModifiedPolyNormal
protected int firstModifiedPolyNormal -
lastModifiedPolyNormal
protected int lastModifiedPolyNormal -
firstModifiedPolyTexCoord
protected int firstModifiedPolyTexCoord -
lastModifiedPolyTexCoord
protected int lastModifiedPolyTexCoord -
firstModifiedPolyAmbient
protected int firstModifiedPolyAmbient -
lastModifiedPolyAmbient
protected int lastModifiedPolyAmbient -
firstModifiedPolySpecular
protected int firstModifiedPolySpecular -
lastModifiedPolySpecular
protected int lastModifiedPolySpecular -
firstModifiedPolyEmissive
protected int firstModifiedPolyEmissive -
lastModifiedPolyEmissive
protected int lastModifiedPolyEmissive -
firstModifiedPolyShininess
protected int firstModifiedPolyShininess -
lastModifiedPolyShininess
protected int lastModifiedPolyShininess -
firstModifiedLineVertex
protected int firstModifiedLineVertex -
lastModifiedLineVertex
protected int lastModifiedLineVertex -
firstModifiedLineColor
protected int firstModifiedLineColor -
lastModifiedLineColor
protected int lastModifiedLineColor -
firstModifiedLineAttribute
protected int firstModifiedLineAttribute -
lastModifiedLineAttribute
protected int lastModifiedLineAttribute -
firstModifiedPointVertex
protected int firstModifiedPointVertex -
lastModifiedPointVertex
protected int lastModifiedPointVertex -
firstModifiedPointColor
protected int firstModifiedPointColor -
lastModifiedPointColor
protected int lastModifiedPointColor -
firstModifiedPointAttribute
protected int firstModifiedPointAttribute -
lastModifiedPointAttribute
protected int lastModifiedPointAttribute -
savedStroke
protected boolean savedStroke -
savedStrokeColor
protected int savedStrokeColor -
savedStrokeWeight
protected float savedStrokeWeight -
savedStrokeCap
protected int savedStrokeCap -
savedStrokeJoin
protected int savedStrokeJoin -
savedFill
protected boolean savedFill -
savedFillColor
protected int savedFillColor -
savedTint
protected boolean savedTint -
savedTintColor
protected int savedTintColor -
savedAmbientColor
protected int savedAmbientColor -
savedSpecularColor
protected int savedSpecularColor -
savedEmissiveColor
protected int savedEmissiveColor -
savedShininess
protected float savedShininess -
savedTextureMode
protected int savedTextureMode
-
-
Constructor Details
-
PShapeOpenGL
-
PShapeOpenGL
Create a shape from the PRIMITIVE family, using this kind and these params
-
-
Method Details
-
addChild
Description copied from class:PShape
Adds a child PShape to a parent PShape that is defined as a GROUP. In the example, the three shapes path, rectangle, and circle are added to a parent PShape variable named house that is a GROUP. -
addChild
-
removeChild
public void removeChild(int idx) Description copied from class:PShape
Remove the child shape with index idx.- Overrides:
removeChild
in classPShape
-
updateRoot
-
createShape
-
copyGroup
-
getWidth
public float getWidth()Description copied from class:PShape
Get the width of the drawing area (not necessarily the shape boundary). -
getHeight
public float getHeight()Description copied from class:PShape
Get the height of the drawing area (not necessarily the shape boundary). -
getDepth
public float getDepth()Description copied from class:PShape
Get the depth of the shape area (not necessarily the shape boundary). Only makes sense for 3D PShape subclasses, such as PShape3D. -
getVertexMin
-
getVertexMax
-
getVertexSum
-
setTextureMode
public void setTextureMode(int mode) - Overrides:
setTextureMode
in classPShape
-
setTextureModeImpl
protected void setTextureModeImpl(int mode) -
setTexture
- Overrides:
setTexture
in classPShape
-
setTextureImpl
-
scaleTextureUV
protected void scaleTextureUV(float uFactor, float vFactor) -
addTexture
-
removeTexture
-
strokedTexture
protected void strokedTexture(boolean newValue) -
strokedTexture
-
untexChild
protected void untexChild(boolean newValue) -
untexChild
-
hasTexture
protected boolean hasTexture() -
hasTexture
-
hasStrokedTexture
protected boolean hasStrokedTexture() -
solid
public void solid(boolean solid) -
beginContourImpl
protected void beginContourImpl()- Overrides:
beginContourImpl
in classPShape
-
endContourImpl
protected void endContourImpl()- Overrides:
endContourImpl
in classPShape
-
vertex
public void vertex(float x, float y) -
vertex
public void vertex(float x, float y, float u, float v) -
vertex
public void vertex(float x, float y, float z) -
vertex
public void vertex(float x, float y, float z, float u, float v) -
vertexImpl
protected void vertexImpl(float x, float y, float z, float u, float v) -
vertexBreak
protected boolean vertexBreak() -
normal
public void normal(float nx, float ny, float nz) -
attribPosition
- Overrides:
attribPosition
in classPShape
-
attribNormal
- Overrides:
attribNormal
in classPShape
-
attribColor
- Overrides:
attribColor
in classPShape
-
attrib
-
attrib
-
attrib
-
attribImpl
-
endShape
public void endShape(int mode) -
setParams
public void setParams(float[] source) -
setPath
public void setPath(int vcount, float[][] verts, int ccount, int[] codes) -
translate
public void translate(float tx, float ty) Description copied from class:PShape
Specifies an amount to displace the shape. The x parameter specifies left/right translation, the y parameter specifies up/down translation, and the z parameter specifies translations toward/away from the screen. Subsequent calls to the method accumulates the effect. For example, calling translate(50, 0) and then translate(20, 0) is the same as translate(70, 0). This transformation is applied directly to the shape, it's not refreshed each time draw() is run.
Using this method with the z parameter requires using the P3D parameter in combination with size. -
translate
public void translate(float tx, float ty, float tz) -
rotate
public void rotate(float angle) Description copied from class:PShape
Rotates a shape the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted to radians with the radians() method.
Shapes are always rotated around the upper-left corner of their bounding box. Positive numbers rotate objects in a clockwise direction. Transformations apply to everything that happens after and subsequent calls to the method accumulates the effect. For example, calling rotate(HALF_PI) and then rotate(HALF_PI) is the same as rotate(PI). This transformation is applied directly to the shape, it's not refreshed each time draw() is run. -
rotateX
public void rotateX(float angle) Description copied from class:PShape
Rotates a shape around the x-axis the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted to radians with the radians() method.
Shapes are always rotated around the upper-left corner of their bounding box. Positive numbers rotate objects in a clockwise direction. Subsequent calls to the method accumulates the effect. For example, calling rotateX(HALF_PI) and then rotateX(HALF_PI) is the same as rotateX(PI). This transformation is applied directly to the shape, it's not refreshed each time draw() is run.
This method requires a 3D renderer. You need to use P3D as a third parameter for the size() function as shown in the example above. -
rotateY
public void rotateY(float angle) Description copied from class:PShape
Rotates a shape around the y-axis the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted to radians with the radians() method.
Shapes are always rotated around the upper-left corner of their bounding box. Positive numbers rotate objects in a clockwise direction. Subsequent calls to the method accumulates the effect. For example, calling rotateY(HALF_PI) and then rotateY(HALF_PI) is the same as rotateY(PI). This transformation is applied directly to the shape, it's not refreshed each time draw() is run.
This method requires a 3D renderer. You need to use P3D as a third parameter for the size() function as shown in the example above. -
rotateZ
public void rotateZ(float angle) Description copied from class:PShape
Rotates a shape around the z-axis the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted to radians with the radians() method.
Shapes are always rotated around the upper-left corner of their bounding box. Positive numbers rotate objects in a clockwise direction. Subsequent calls to the method accumulates the effect. For example, calling rotateZ(HALF_PI) and then rotateZ(HALF_PI) is the same as rotateZ(PI). This transformation is applied directly to the shape, it's not refreshed each time draw() is run.
This method requires a 3D renderer. You need to use P3D as a third parameter for the size() function as shown in the example above. -
rotate
public void rotate(float angle, float v0, float v1, float v2) -
scale
public void scale(float s) Description copied from class:PShape
Increases or decreases the size of a shape by expanding and contracting vertices. Shapes always scale from the relative origin of their bounding box. Scale values are specified as decimal percentages. For example, the method call scale(2.0) increases the dimension of a shape by 200%. Subsequent calls to the method multiply the effect. For example, calling scale(2.0) and then scale(1.5) is the same as scale(3.0). This transformation is applied directly to the shape, it's not refreshed each time draw() is run.
Using this method with the z parameter requires using the P3D parameter in combination with size. -
scale
public void scale(float x, float y) -
scale
public void scale(float x, float y, float z) -
applyMatrix
- Overrides:
applyMatrix
in classPShape
-
applyMatrix
public void applyMatrix(float n00, float n01, float n02, float n10, float n11, float n12) - Overrides:
applyMatrix
in classPShape
-
applyMatrix
public void applyMatrix(float n00, float n01, float n02, float n03, float n10, float n11, float n12, float n13, float n20, float n21, float n22, float n23, float n30, float n31, float n32, float n33) - Overrides:
applyMatrix
in classPShape
-
resetMatrix
public void resetMatrix()Description copied from class:PShape
Replaces the current matrix of a shape with the identity matrix. The equivalent function in OpenGL is glLoadIdentity().- Overrides:
resetMatrix
in classPShape
- See Also:
-
transform
protected void transform(int type, float... args) -
applyMatrixImpl
-
checkMatrix
protected void checkMatrix(int dimensions) Description copied from class:PShape
Make sure that the shape's matrix is 1) not null, and 2) has a matrix that can handle at least the specified number of dimensions.- Overrides:
checkMatrix
in classPShape
-
bezierDetail
public void bezierDetail(int detail) - Overrides:
bezierDetail
in classPShape
-
bezierVertex
public void bezierVertex(float x2, float y2, float x3, float y3, float x4, float y4) - Overrides:
bezierVertex
in classPShape
-
bezierVertex
public void bezierVertex(float x2, float y2, float z2, float x3, float y3, float z3, float x4, float y4, float z4) - Overrides:
bezierVertex
in classPShape
-
bezierVertexImpl
protected void bezierVertexImpl(float x2, float y2, float z2, float x3, float y3, float z3, float x4, float y4, float z4) -
quadraticVertex
public void quadraticVertex(float cx, float cy, float x3, float y3) - Overrides:
quadraticVertex
in classPShape
-
quadraticVertex
public void quadraticVertex(float cx, float cy, float cz, float x3, float y3, float z3) - Overrides:
quadraticVertex
in classPShape
-
quadraticVertexImpl
protected void quadraticVertexImpl(float cx, float cy, float cz, float x3, float y3, float z3) -
curveDetail
public void curveDetail(int detail) - Overrides:
curveDetail
in classPShape
-
curveTightness
public void curveTightness(float tightness) - Overrides:
curveTightness
in classPShape
-
curveVertex
public void curveVertex(float x, float y) - Overrides:
curveVertex
in classPShape
-
curveVertex
public void curveVertex(float x, float y, float z) - Overrides:
curveVertex
in classPShape
-
curveVertexImpl
protected void curveVertexImpl(float x, float y, float z) -
getVertexCount
public int getVertexCount()- Overrides:
getVertexCount
in classPShape
-
getVertexCount
public int getVertexCount(boolean includeChildren) Description copied from class:PShape
The getVertexCount() method returns the number of vertices (with an option to count children by passing true as boolean parameter to method call) that make up a PShape. By default, it does not count child vertices for GROUP shapes. To include child vertices, pass true as a boolean parameter. In the above example, the value 4 is returned by the getVertexCount() method because 4 vertices are defined in setup().- Overrides:
getVertexCount
in classPShape
- See Also:
-
getVertex
-
getVertexX
public float getVertexX(int index) - Overrides:
getVertexX
in classPShape
-
getVertexY
public float getVertexY(int index) - Overrides:
getVertexY
in classPShape
-
getVertexZ
public float getVertexZ(int index) - Overrides:
getVertexZ
in classPShape
-
setVertex
public void setVertex(int index, float x, float y) Description copied from class:PShape
The setVertex() method defines the coordinates of the vertex point located at the position defined by the index parameter. This method works when shapes are created as shown in the example above, but won't work properly when a shape is defined explicitly (e.g. createShape(RECT, 20, 20, 80, 80). -
setVertex
public void setVertex(int index, float x, float y, float z) -
setVertex
-
getNormal
-
getNormalX
public float getNormalX(int index) - Overrides:
getNormalX
in classPShape
-
getNormalY
public float getNormalY(int index) - Overrides:
getNormalY
in classPShape
-
getNormalZ
public float getNormalZ(int index) - Overrides:
getNormalZ
in classPShape
-
setNormal
public void setNormal(int index, float nx, float ny, float nz) -
getTextureU
public float getTextureU(int index) - Overrides:
getTextureU
in classPShape
-
getTextureV
public float getTextureV(int index) - Overrides:
getTextureV
in classPShape
-
setTextureUV
public void setTextureUV(int index, float u, float v) - Overrides:
setTextureUV
in classPShape
-
getFill
public int getFill(int index) -
setFill
public void setFill(boolean fill) -
setFill
public void setFill(int fill) Description copied from class:PShape
The setFill() method defines the fill color of a PShape. This method is used after shapes are created or when a shape is defined explicitly (e.g. createShape(RECT, 20, 20, 80, 80)) as shown in the above example. When a shape is created with beginShape() and endShape(), its attributes may be changed with fill() and stroke() within beginShape() and endShape(). However, after the shape is created, only the setFill() method can define a new fill value for the PShape. -
setFillImpl
protected void setFillImpl(int fill) -
setFill
public void setFill(int index, int fill) -
getTint
public int getTint(int index) -
setTint
public void setTint(boolean tint) -
setTint
public void setTint(int tint) -
setTintImpl
protected void setTintImpl(int tint) -
setTint
public void setTint(int index, int tint) -
getStroke
public int getStroke(int index) -
setStroke
public void setStroke(boolean stroke) -
setStrokeImpl
protected void setStrokeImpl(boolean stroke) -
setStroke
public void setStroke(int stroke) Description copied from class:PShape
The setStroke() method defines the outline color of a PShape. This method is used after shapes are created or when a shape is defined explicitly (e.g. createShape(RECT, 20, 20, 80, 80)) as shown in the above example. When a shape is created with beginShape() and endShape(), its attributes may be changed with fill() and stroke() within beginShape() and endShape(). However, after the shape is created, only the setStroke() method can define a new stroke value for the PShape. -
setStrokeImpl
protected void setStrokeImpl(int stroke) -
setStroke
public void setStroke(int index, int stroke) -
getStrokeWeight
public float getStrokeWeight(int index) - Overrides:
getStrokeWeight
in classPShape
-
setStrokeWeight
public void setStrokeWeight(float weight) - Overrides:
setStrokeWeight
in classPShape
-
setStrokeWeightImpl
protected void setStrokeWeightImpl(float weight) -
setStrokeWeight
public void setStrokeWeight(int index, float weight) - Overrides:
setStrokeWeight
in classPShape
-
setStrokeJoin
public void setStrokeJoin(int join) - Overrides:
setStrokeJoin
in classPShape
-
setStrokeCap
public void setStrokeCap(int cap) - Overrides:
setStrokeCap
in classPShape
-
getAmbient
public int getAmbient(int index) - Overrides:
getAmbient
in classPShape
-
setAmbient
public void setAmbient(int ambient) - Overrides:
setAmbient
in classPShape
-
setAmbientImpl
protected void setAmbientImpl(int ambient) -
setAmbient
public void setAmbient(int index, int ambient) - Overrides:
setAmbient
in classPShape
-
getSpecular
public int getSpecular(int index) - Overrides:
getSpecular
in classPShape
-
setSpecular
public void setSpecular(int specular) - Overrides:
setSpecular
in classPShape
-
setSpecularImpl
protected void setSpecularImpl(int specular) -
setSpecular
public void setSpecular(int index, int specular) - Overrides:
setSpecular
in classPShape
-
getEmissive
public int getEmissive(int index) - Overrides:
getEmissive
in classPShape
-
setEmissive
public void setEmissive(int emissive) - Overrides:
setEmissive
in classPShape
-
setEmissiveImpl
protected void setEmissiveImpl(int emissive) -
setEmissive
public void setEmissive(int index, int emissive) - Overrides:
setEmissive
in classPShape
-
getShininess
public float getShininess(int index) - Overrides:
getShininess
in classPShape
-
setShininess
public void setShininess(float shininess) - Overrides:
setShininess
in classPShape
-
setShininessImpl
protected void setShininessImpl(float shininess) -
setShininess
public void setShininess(int index, float shine) - Overrides:
setShininess
in classPShape
-
getAttribPosition
-
getAttribPositionX
-
getAttribPositionY
-
getAttribPositionZ
-
getAttribNormal
-
getAttribNormalX
-
getAttribNormalY
-
getAttribNormalZ
-
getAttribColor
-
getAttrib
-
getAttrib
-
getAttrib
-
setAttribPosition
-
setAttribNormal
-
setAttribColor
-
setAttrib
-
setAttrib
-
setAttrib
-
getVertexCodes
public int[] getVertexCodes()- Overrides:
getVertexCodes
in classPShape
-
getVertexCodeCount
public int getVertexCodeCount()- Overrides:
getVertexCodeCount
in classPShape
-
getVertexCode
public int getVertexCode(int index) One of VERTEX, BEZIER_VERTEX, CURVE_VERTEX, or BREAK.- Overrides:
getVertexCode
in classPShape
-
getTessellation
Description copied from class:PShape
Returns a PShape holding the tessellated geometry of this shape, composed entirely of triangles.- Overrides:
getTessellation
in classPShape
-
beginTessellation
public void beginTessellation(int kind) - Overrides:
beginTessellation
in classPShape
-
endTessellation
public void endTessellation()- Overrides:
endTessellation
in classPShape
-
contains
public boolean contains(float x, float y) Return true if this x, y coordinate is part of this shape. Only works with PATH shapes or GROUP shapes that contain other GROUPs or PATHs. This method is not imperfect and doesn't account for all cases (not all complex shapes: concave shapes or holes may have issues). -
updateTessellation
protected void updateTessellation() -
markForTessellation
protected void markForTessellation() -
initModified
protected void initModified() -
tessellate
protected void tessellate() -
collectPolyAttribs
protected void collectPolyAttribs() -
tessellateImpl
protected void tessellateImpl() -
tessellatePoint
protected void tessellatePoint() -
tessellateLine
protected void tessellateLine() -
tessellateTriangle
protected void tessellateTriangle() -
tessellateQuad
protected void tessellateQuad() -
tessellateRect
protected void tessellateRect() -
tessellateEllipse
protected void tessellateEllipse() -
tessellateArc
protected void tessellateArc() -
tessellateBox
protected void tessellateBox() -
tessellateSphere
protected void tessellateSphere() -
tessellatePath
protected void tessellatePath() -
saveBezierVertexSettings
protected void saveBezierVertexSettings() -
restoreBezierVertexSettings
protected void restoreBezierVertexSettings() -
saveCurveVertexSettings
protected void saveCurveVertexSettings() -
restoreCurveVertexSettings
protected void restoreCurveVertexSettings() -
aggregate
protected void aggregate() -
aggregateImpl
protected void aggregateImpl() -
updatePolyIndexCache
protected void updatePolyIndexCache() -
startStrokedTex
protected boolean startStrokedTex(int n) -
setFirstStrokeVertex
protected void setFirstStrokeVertex(int n, int vert) -
setLastStrokeVertex
protected void setLastStrokeVertex(int vert) -
updateLineIndexCache
protected void updateLineIndexCache() -
updatePointIndexCache
protected void updatePointIndexCache() -
initBuffers
protected void initBuffers() -
initPolyBuffers
protected void initPolyBuffers() -
initLineBuffers
protected void initLineBuffers() -
initPointBuffers
protected void initPointBuffers() -
contextIsOutdated
protected boolean contextIsOutdated() -
updateGeometry
protected void updateGeometry() -
updateGeometryImpl
protected void updateGeometryImpl() -
copyPolyVertices
protected void copyPolyVertices(int offset, int size) -
copyPolyColors
protected void copyPolyColors(int offset, int size) -
copyPolyNormals
protected void copyPolyNormals(int offset, int size) -
copyPolyTexCoords
protected void copyPolyTexCoords(int offset, int size) -
copyPolyAmbient
protected void copyPolyAmbient(int offset, int size) -
copyPolySpecular
protected void copyPolySpecular(int offset, int size) -
copyPolyEmissive
protected void copyPolyEmissive(int offset, int size) -
copyPolyShininess
protected void copyPolyShininess(int offset, int size) -
copyPolyAttrib
-
copyLineVertices
protected void copyLineVertices(int offset, int size) -
copyLineColors
protected void copyLineColors(int offset, int size) -
copyLineAttributes
protected void copyLineAttributes(int offset, int size) -
copyPointVertices
protected void copyPointVertices(int offset, int size) -
copyPointColors
protected void copyPointColors(int offset, int size) -
copyPointAttributes
protected void copyPointAttributes(int offset, int size) -
setModifiedPolyVertices
protected void setModifiedPolyVertices(int first, int last) -
setModifiedPolyColors
protected void setModifiedPolyColors(int first, int last) -
setModifiedPolyNormals
protected void setModifiedPolyNormals(int first, int last) -
setModifiedPolyTexCoords
protected void setModifiedPolyTexCoords(int first, int last) -
setModifiedPolyAmbient
protected void setModifiedPolyAmbient(int first, int last) -
setModifiedPolySpecular
protected void setModifiedPolySpecular(int first, int last) -
setModifiedPolyEmissive
protected void setModifiedPolyEmissive(int first, int last) -
setModifiedPolyShininess
protected void setModifiedPolyShininess(int first, int last) -
setModifiedPolyAttrib
-
setModifiedLineVertices
protected void setModifiedLineVertices(int first, int last) -
setModifiedLineColors
protected void setModifiedLineColors(int first, int last) -
setModifiedLineAttributes
protected void setModifiedLineAttributes(int first, int last) -
setModifiedPointVertices
protected void setModifiedPointVertices(int first, int last) -
setModifiedPointColors
protected void setModifiedPointColors(int first, int last) -
setModifiedPointAttributes
protected void setModifiedPointAttributes(int first, int last) -
disableStyle
public void disableStyle()Description copied from class:PShape
Disables the shape's style data and uses Processing's current styles. Styles include attributes such as colors, stroke weight, and stroke joints.Advanced
Overrides this shape's style information and uses PGraphics styles and colors. Identical to ignoreStyles(true). Also disables styles for all child shapes.- Overrides:
disableStyle
in classPShape
- See Also:
-
enableStyle
public void enableStyle()Description copied from class:PShape
Enables the shape's style data and ignores Processing's current styles. Styles include attributes such as colors, stroke weight, and stroke joints.- Overrides:
enableStyle
in classPShape
- See Also:
-
styles
-
draw
Description copied from class:PShape
Called by the following (the shape() command adds the g) PShape s = loadShape("blah.svg"); shape(s); -
fragmentedGroup
-
pre
-
post
-
drawGeometry
- Overrides:
drawGeometry
in classPShape
-
render
-
renderPolys
-
rawPolys
-
renderLines
-
rawLines
-
renderPoints
-
rawPoints
-