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 intprotected booleanprotected VertexBufferprotected VertexBufferprotected VertexBufferprotected VertexBufferprotected VertexBufferprotected VertexBufferprotected VertexBufferprotected VertexBufferprotected VertexBufferprotected VertexBufferprotected VertexBufferprotected VertexBufferprotected VertexBufferprotected VertexBufferprotected VertexBufferprotected VertexBufferprotected VertexBufferprotected intprotected intprotected floatstatic final intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected booleanprotected booleanprotected booleanprotected PGraphicsOpenGL.InGeometryprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected intprotected static final intprotected PMatrixprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanstatic final intprotected static final intprotected static final intprotected static final intprotected intprotected floatprotected floatprotected floatstatic final intprotected PGraphicsOpenGLprotected PGLprotected intprotected intprotected intprotected intprotected intprotected intprotected PGraphicsOpenGL.AttributeMapprotected intprotected intprotected intprotected intprotected intprotected intstatic final intprotected PShapeOpenGLprotected static final intprotected intprotected intprotected intprotected floatprotected intprotected booleanprotected intprotected floatprotected intprotected booleanprotected intprotected intprotected intprotected floatprotected intprotected booleanprotected intprotected static final intprotected booleanprotected booleanprotected booleanprotected booleanprotected PGraphicsOpenGL.Tessellatorprotected PGraphicsOpenGL.TessGeometrystatic final intprotected PMatrixprotected PMatrixprotected static final intprotected booleanFields 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, widthFields inherited from interface processing.core.PConstants
ADD, ALPHA, ALT, AMBIENT, ARC, ARGB, ARROW, BACKSPACE, BASELINE, BEVEL, BEZIER_VERTEX, BICUBIC, BILINEAR, 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, NEAREST_NEIGHBOR, 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 TypeMethodDescriptionvoidAdds a child PShape to a parent PShape that is defined as a GROUP.voidprotected voidaddTexture(PImage tex) protected voidprotected voidvoidapplyMatrix(float n00, float n01, float n02, float n10, float n11, float n12) voidapplyMatrix(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) voidapplyMatrix(PMatrix2D source) protected voidapplyMatrixImpl(PMatrix matrix) voidvoidvoidvoidattribColor(String name, int color) protected PGraphicsOpenGL.VertexAttributeattribImpl(String name, int kind, int type, int size) voidattribNormal(String name, float nx, float ny, float nz) voidattribPosition(String name, float x, float y, float z) protected voidvoidbeginTessellation(int kind) voidbezierDetail(int detail) voidbezierVertex(float x2, float y2, float x3, float y3, float x4, float y4) voidbezierVertex(float x2, float y2, float z2, float x3, float y3, float z3, float x4, float y4, float z4) protected voidbezierVertexImpl(float x2, float y2, float z2, float x3, float y3, float z3, float x4, float y4, float z4) protected voidcheckMatrix(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 voidbooleancontains(float x, float y) Return true if this x, y coordinate is part of this shape.protected booleanstatic voidcopyGroup(PGraphicsOpenGL pg, PShape src, PShape dest) protected voidcopyLineAttributes(int offset, int size) protected voidcopyLineColors(int offset, int size) protected voidcopyLineVertices(int offset, int size) protected voidcopyPointAttributes(int offset, int size) protected voidcopyPointColors(int offset, int size) protected voidcopyPointVertices(int offset, int size) protected voidcopyPolyAmbient(int offset, int size) protected voidcopyPolyAttrib(PGraphicsOpenGL.VertexAttribute attrib, int offset, int size) protected voidcopyPolyColors(int offset, int size) protected voidcopyPolyEmissive(int offset, int size) protected voidcopyPolyNormals(int offset, int size) protected voidcopyPolyShininess(int offset, int size) protected voidcopyPolySpecular(int offset, int size) protected voidcopyPolyTexCoords(int offset, int size) protected voidcopyPolyVertices(int offset, int size) static PShapeOpenGLcreateShape(PGraphicsOpenGL pg, PShape src) voidcurveDetail(int detail) voidcurveTightness(float tightness) voidcurveVertex(float x, float y) voidcurveVertex(float x, float y, float z) protected voidcurveVertexImpl(float x, float y, float z) voidDisables the shape's style data and uses Processing's current styles.voidCalled by the following (the shape() command adds the g) PShape s = loadShape("blah.svg"); shape(s);protected voidvoidEnables the shape's style data and ignores Processing's current styles.protected voidvoidendShape(int mode) voidprotected booleanintgetAmbient(int index) boolean[]float[]int[]intgetAttribColor(String name, int index) getAttribNormal(String name, int index, PVector vec) floatgetAttribNormalX(String name, int index) floatgetAttribNormalY(String name, int index) floatgetAttribNormalZ(String name, int index) getAttribPosition(String name, int index, PVector vec) floatgetAttribPositionX(String name, int index) floatgetAttribPositionY(String name, int index) floatgetAttribPositionZ(String name, int index) floatgetDepth()Get the depth of the shape area (not necessarily the shape boundary).intgetEmissive(int index) intgetFill(int index) floatGet the height of the drawing area (not necessarily the shape boundary).floatgetNormalX(int index) floatgetNormalY(int index) floatgetNormalZ(int index) floatgetShininess(int index) intgetSpecular(int index) intgetStroke(int index) floatgetStrokeWeight(int index) Returns a PShape holding the tessellated geometry of this shape, composed entirely of triangles.floatgetTextureU(int index) floatgetTextureV(int index) intgetTint(int index) intgetVertexCode(int index) One of VERTEX, BEZIER_VERTEX, CURVE_VERTEX, or BREAK.intint[]intintgetVertexCount(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 voidgetVertexMax(PVector max) protected voidgetVertexMin(PVector min) protected intgetVertexSum(PVector sum, int count) floatgetVertexX(int index) floatgetVertexY(int index) floatgetVertexZ(int index) floatgetWidth()Get the width of the drawing area (not necessarily the shape boundary).protected booleanprotected booleanprotected booleanhasTexture(PImage tex) protected voidprotected voidprotected voidprotected voidprotected voidprotected voidvoidnormal(float nx, float ny, float nz) protected voidprotected voidvoidquadraticVertex(float cx, float cy, float x3, float y3) voidquadraticVertex(float cx, float cy, float cz, float x3, float y3, float z3) protected voidquadraticVertexImpl(float cx, float cy, float cz, float x3, float y3, float z3) protected voidprotected voidprotected voidrawPolys(PGraphicsOpenGL g, PImage textureImage) voidremoveChild(int idx) Remove the child shape with index idx.protected voidremoveTexture(PImage tex, PShapeOpenGL caller) protected voidrender(PGraphicsOpenGL g, PImage texture) protected voidprotected voidprotected voidrenderPolys(PGraphicsOpenGL g, PImage textureImage) voidReplaces the current matrix of a shape with the identity matrix.protected voidprotected voidvoidrotate(float angle) Rotates a shape the amount specified by the angle parameter.voidrotate(float angle, float v0, float v1, float v2) voidrotateX(float angle) Rotates a shape around the x-axis the amount specified by the angle parameter.voidrotateY(float angle) Rotates a shape around the y-axis the amount specified by the angle parameter.voidrotateZ(float angle) Rotates a shape around the z-axis the amount specified by the angle parameter.protected voidprotected voidvoidscale(float s) Increases or decreases the size of a shape by expanding and contracting vertices.voidscale(float x, float y) voidscale(float x, float y, float z) protected voidscaleTextureUV(float uFactor, float vFactor) voidsetAmbient(int ambient) voidsetAmbient(int index, int ambient) protected voidsetAmbientImpl(int ambient) voidvoidvoidvoidsetAttribColor(String name, int index, int color) voidsetAttribNormal(String name, int index, float nx, float ny, float nz) voidsetAttribPosition(String name, int index, float x, float y, float z) voidsetEmissive(int emissive) voidsetEmissive(int index, int emissive) protected voidsetEmissiveImpl(int emissive) voidsetFill(boolean fill) voidsetFill(int fill) The setFill() method defines the fill color of a PShape.voidsetFill(int index, int fill) protected voidsetFillImpl(int fill) protected voidsetFirstStrokeVertex(int n, int vert) protected voidsetLastStrokeVertex(int vert) protected voidsetModifiedLineAttributes(int first, int last) protected voidsetModifiedLineColors(int first, int last) protected voidsetModifiedLineVertices(int first, int last) protected voidsetModifiedPointAttributes(int first, int last) protected voidsetModifiedPointColors(int first, int last) protected voidsetModifiedPointVertices(int first, int last) protected voidsetModifiedPolyAmbient(int first, int last) protected voidsetModifiedPolyAttrib(PGraphicsOpenGL.VertexAttribute attrib, int first, int last) protected voidsetModifiedPolyColors(int first, int last) protected voidsetModifiedPolyEmissive(int first, int last) protected voidsetModifiedPolyNormals(int first, int last) protected voidsetModifiedPolyShininess(int first, int last) protected voidsetModifiedPolySpecular(int first, int last) protected voidsetModifiedPolyTexCoords(int first, int last) protected voidsetModifiedPolyVertices(int first, int last) voidsetNormal(int index, float nx, float ny, float nz) voidsetParams(float[] source) voidsetPath(int vcount, float[][] verts, int ccount, int[] codes) voidsetShininess(float shininess) voidsetShininess(int index, float shine) protected voidsetShininessImpl(float shininess) voidsetSpecular(int specular) voidsetSpecular(int index, int specular) protected voidsetSpecularImpl(int specular) voidsetStroke(boolean stroke) voidsetStroke(int stroke) The setStroke() method defines the outline color of a PShape.voidsetStroke(int index, int stroke) voidsetStrokeCap(int cap) protected voidsetStrokeImpl(boolean stroke) protected voidsetStrokeImpl(int stroke) voidsetStrokeJoin(int join) voidsetStrokeWeight(float weight) voidsetStrokeWeight(int index, float weight) protected voidsetStrokeWeightImpl(float weight) voidsetTexture(PImage tex) protected voidsetTextureImpl(PImage tex) voidsetTextureMode(int mode) protected voidsetTextureModeImpl(int mode) voidsetTextureUV(int index, float u, float v) voidsetTint(boolean tint) voidsetTint(int tint) voidsetTint(int index, int tint) protected voidsetTintImpl(int tint) voidsetVertex(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.voidsetVertex(int index, float x, float y, float z) voidvoidsolid(boolean solid) protected booleanstartStrokedTex(int n) protected voidstrokedTexture(boolean newValue) protected voidstrokedTexture(boolean newValue, PShapeOpenGL caller) protected voidprotected voidprotected voidprotected voidprotected voidprotected voidprotected voidprotected voidprotected voidprotected voidprotected voidprotected voidprotected voidprotected voidtransform(int type, float... args) voidtranslate(float tx, float ty) Specifies an amount to displace the shape.voidtranslate(float tx, float ty, float tz) protected voiduntexChild(boolean newValue) protected voiduntexChild(boolean newValue, PShapeOpenGL caller) protected voidprotected voidprotected voidprotected voidprotected voidprotected voidupdateRoot(PShape root) protected voidvoidvertex(float x, float y) voidvertex(float x, float y, float z) voidvertex(float x, float y, float u, float v) voidvertex(float x, float y, float z, float u, float v) protected booleanprotected voidvertexImpl(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:PShapeAdds 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:PShapeRemove the child shape with index idx.- Overrides:
removeChildin classPShape
-
updateRoot
-
createShape
-
copyGroup
-
getWidth
public float getWidth()Description copied from class:PShapeGet the width of the drawing area (not necessarily the shape boundary). -
getHeight
public float getHeight()Description copied from class:PShapeGet the height of the drawing area (not necessarily the shape boundary). -
getDepth
public float getDepth()Description copied from class:PShapeGet 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:
setTextureModein classPShape
-
setTextureModeImpl
protected void setTextureModeImpl(int mode) -
setTexture
- Overrides:
setTexturein 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:
beginContourImplin classPShape
-
endContourImpl
protected void endContourImpl()- Overrides:
endContourImplin 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:
attribPositionin classPShape
-
attribNormal
- Overrides:
attribNormalin classPShape
-
attribColor
- Overrides:
attribColorin 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:PShapeSpecifies 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:PShapeRotates 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:PShapeRotates 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:PShapeRotates 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:PShapeRotates 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:PShapeIncreases 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:
applyMatrixin classPShape
-
applyMatrix
public void applyMatrix(float n00, float n01, float n02, float n10, float n11, float n12) - Overrides:
applyMatrixin 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:
applyMatrixin classPShape
-
resetMatrix
public void resetMatrix()Description copied from class:PShapeReplaces the current matrix of a shape with the identity matrix. The equivalent function in OpenGL is glLoadIdentity().- Overrides:
resetMatrixin classPShape- See Also:
-
transform
protected void transform(int type, float... args) -
applyMatrixImpl
-
checkMatrix
protected void checkMatrix(int dimensions) Description copied from class:PShapeMake 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:
checkMatrixin classPShape
-
bezierDetail
public void bezierDetail(int detail) - Overrides:
bezierDetailin classPShape
-
bezierVertex
public void bezierVertex(float x2, float y2, float x3, float y3, float x4, float y4) - Overrides:
bezierVertexin classPShape
-
bezierVertex
public void bezierVertex(float x2, float y2, float z2, float x3, float y3, float z3, float x4, float y4, float z4) - Overrides:
bezierVertexin 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:
quadraticVertexin classPShape
-
quadraticVertex
public void quadraticVertex(float cx, float cy, float cz, float x3, float y3, float z3) - Overrides:
quadraticVertexin classPShape
-
quadraticVertexImpl
protected void quadraticVertexImpl(float cx, float cy, float cz, float x3, float y3, float z3) -
curveDetail
public void curveDetail(int detail) - Overrides:
curveDetailin classPShape
-
curveTightness
public void curveTightness(float tightness) - Overrides:
curveTightnessin classPShape
-
curveVertex
public void curveVertex(float x, float y) - Overrides:
curveVertexin classPShape
-
curveVertex
public void curveVertex(float x, float y, float z) - Overrides:
curveVertexin classPShape
-
curveVertexImpl
protected void curveVertexImpl(float x, float y, float z) -
getVertexCount
public int getVertexCount()- Overrides:
getVertexCountin classPShape
-
getVertexCount
public int getVertexCount(boolean includeChildren) Description copied from class:PShapeThe 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:
getVertexCountin classPShape- See Also:
-
getVertex
-
getVertexX
public float getVertexX(int index) - Overrides:
getVertexXin classPShape
-
getVertexY
public float getVertexY(int index) - Overrides:
getVertexYin classPShape
-
getVertexZ
public float getVertexZ(int index) - Overrides:
getVertexZin classPShape
-
setVertex
public void setVertex(int index, float x, float y) Description copied from class:PShapeThe 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:
getNormalXin classPShape
-
getNormalY
public float getNormalY(int index) - Overrides:
getNormalYin classPShape
-
getNormalZ
public float getNormalZ(int index) - Overrides:
getNormalZin classPShape
-
setNormal
public void setNormal(int index, float nx, float ny, float nz) -
getTextureU
public float getTextureU(int index) - Overrides:
getTextureUin classPShape
-
getTextureV
public float getTextureV(int index) - Overrides:
getTextureVin classPShape
-
setTextureUV
public void setTextureUV(int index, float u, float v) - Overrides:
setTextureUVin classPShape
-
getFill
public int getFill(int index) -
setFill
public void setFill(boolean fill) -
setFill
public void setFill(int fill) Description copied from class:PShapeThe 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:PShapeThe 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:
getStrokeWeightin classPShape
-
setStrokeWeight
public void setStrokeWeight(float weight) - Overrides:
setStrokeWeightin classPShape
-
setStrokeWeightImpl
protected void setStrokeWeightImpl(float weight) -
setStrokeWeight
public void setStrokeWeight(int index, float weight) - Overrides:
setStrokeWeightin classPShape
-
setStrokeJoin
public void setStrokeJoin(int join) - Overrides:
setStrokeJoinin classPShape
-
setStrokeCap
public void setStrokeCap(int cap) - Overrides:
setStrokeCapin classPShape
-
getAmbient
public int getAmbient(int index) - Overrides:
getAmbientin classPShape
-
setAmbient
public void setAmbient(int ambient) - Overrides:
setAmbientin classPShape
-
setAmbientImpl
protected void setAmbientImpl(int ambient) -
setAmbient
public void setAmbient(int index, int ambient) - Overrides:
setAmbientin classPShape
-
getSpecular
public int getSpecular(int index) - Overrides:
getSpecularin classPShape
-
setSpecular
public void setSpecular(int specular) - Overrides:
setSpecularin classPShape
-
setSpecularImpl
protected void setSpecularImpl(int specular) -
setSpecular
public void setSpecular(int index, int specular) - Overrides:
setSpecularin classPShape
-
getEmissive
public int getEmissive(int index) - Overrides:
getEmissivein classPShape
-
setEmissive
public void setEmissive(int emissive) - Overrides:
setEmissivein classPShape
-
setEmissiveImpl
protected void setEmissiveImpl(int emissive) -
setEmissive
public void setEmissive(int index, int emissive) - Overrides:
setEmissivein classPShape
-
getShininess
public float getShininess(int index) - Overrides:
getShininessin classPShape
-
setShininess
public void setShininess(float shininess) - Overrides:
setShininessin classPShape
-
setShininessImpl
protected void setShininessImpl(float shininess) -
setShininess
public void setShininess(int index, float shine) - Overrides:
setShininessin classPShape
-
getAttribPosition
-
getAttribPositionX
-
getAttribPositionY
-
getAttribPositionZ
-
getAttribNormal
-
getAttribNormalX
-
getAttribNormalY
-
getAttribNormalZ
-
getAttribColor
-
getAttrib
-
getAttrib
-
getAttrib
-
setAttribPosition
-
setAttribNormal
-
setAttribColor
-
setAttrib
-
setAttrib
-
setAttrib
-
getVertexCodes
public int[] getVertexCodes()- Overrides:
getVertexCodesin classPShape
-
getVertexCodeCount
public int getVertexCodeCount()- Overrides:
getVertexCodeCountin classPShape
-
getVertexCode
public int getVertexCode(int index) One of VERTEX, BEZIER_VERTEX, CURVE_VERTEX, or BREAK.- Overrides:
getVertexCodein classPShape
-
getTessellation
Description copied from class:PShapeReturns a PShape holding the tessellated geometry of this shape, composed entirely of triangles.- Overrides:
getTessellationin classPShape
-
beginTessellation
public void beginTessellation(int kind) - Overrides:
beginTessellationin classPShape
-
endTessellation
public void endTessellation()- Overrides:
endTessellationin 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:PShapeDisables 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:
disableStylein classPShape- See Also:
-
enableStyle
public void enableStyle()Description copied from class:PShapeEnables the shape's style data and ignores Processing's current styles. Styles include attributes such as colors, stroke weight, and stroke joints.- Overrides:
enableStylein classPShape- See Also:
-
styles
-
draw
Description copied from class:PShapeCalled by the following (the shape() command adds the g) PShape s = loadShape("blah.svg"); shape(s); -
fragmentedGroup
-
pre
-
post
-
drawGeometry
- Overrides:
drawGeometryin classPShape
-
render
-
renderPolys
-
rawPolys
-
renderLines
-
rawLines
-
renderPoints
-
rawPoints
-