JavaScript is disabled on your browser.
Skip navigation links
processing.opengl

Class PShapeOpenGL

  • All Implemented Interfaces:
    PConstants


    public class PShapeOpenGL
    extends PShape 
    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
    • Constructor Detail

      • PShapeOpenGL

        public PShapeOpenGL(PGraphicsOpenGL pg,
         int kind,
         float... p)
        Create a shape from the PRIMITIVE family, using this kind and these params
    • Method Detail

      • addChild

        public void addChild(PShape who,
         int idx)
        Overrides:
        addChild in class PShape
        idx - the layer position in which to insert the new child
      • removeChild

        public void removeChild(int idx)
        Description copied from class: PShape
        Remove the child shape with index idx.
        Overrides:
        removeChild in class PShape
      • getWidth

        public float getWidth()
        Description copied from class: PShape
        Get the width of the drawing area (not necessarily the shape boundary).
        Overrides:
        getWidth in class PShape
      • getHeight

        public float getHeight()
        Description copied from class: PShape
        Get the height of the drawing area (not necessarily the shape boundary).
        Overrides:
        getHeight in class PShape
      • 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.
        Overrides:
        getDepth in class PShape
      • solid

        public void solid(boolean solid)
      • vertex

        public void vertex(float x,
         float y)
        Overrides:
        vertex in class PShape
      • vertex

        public void vertex(float x,
         float y,
         float u,
         float v)
        Overrides:
        vertex in class PShape
      • vertex

        public void vertex(float x,
         float y,
         float z)
        Overrides:
        vertex in class PShape
      • vertex

        public void vertex(float x,
         float y,
         float z,
         float u,
         float v)
        Overrides:
        vertex in class PShape
      • normal

        public void normal(float nx,
         float ny,
         float nz)
        Overrides:
        normal in class PShape
      • attribPosition

        public void attribPosition(java.lang.String name,
         float x,
         float y,
         float z)
        Overrides:
        attribPosition in class PShape
      • attribNormal

        public void attribNormal(java.lang.String name,
         float nx,
         float ny,
         float nz)
        Overrides:
        attribNormal in class PShape
      • attribColor

        public void attribColor(java.lang.String name,
         int color)
        Overrides:
        attribColor in class PShape
      • attrib

        public void attrib(java.lang.String name,
         float... values)
        Overrides:
        attrib in class PShape
      • attrib

        public void attrib(java.lang.String name,
         int... values)
        Overrides:
        attrib in class PShape
      • attrib

        public void attrib(java.lang.String name,
         boolean... values)
        Overrides:
        attrib in class PShape
      • endShape

        public void endShape(int mode)
        Overrides:
        endShape in class PShape
      • 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
        ( begin auto-generated from PShape_translate.xml ) 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. ( end auto-generated )
        Overrides:
        translate in class PShape
        Parameters:
        tx - left/right translation
        ty - up/down translation
        See Also:
        PShape.rotate(float), PShape.scale(float), PShape.resetMatrix()
      • translate

        public void translate(float tx,
         float ty,
         float tz)
        Overrides:
        translate in class PShape
        tz - forward/back translation
      • rotate

        public void rotate(float angle)
        Description copied from class: PShape
        ( begin auto-generated from PShape_rotate.xml ) 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. ( end auto-generated )
        Overrides:
        rotate in class PShape
        Parameters:
        angle - angle of rotation specified in radians
        See Also:
        PShape.rotateX(float), PShape.rotateY(float), PShape.rotateZ(float), PShape.scale(float), PShape.translate(float, float), PShape.resetMatrix()
      • rotateX

        public void rotateX(float angle)
        Description copied from class: PShape
        ( begin auto-generated from PShape_rotateX.xml ) 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. ( end auto-generated )
        Overrides:
        rotateX in class PShape
        Parameters:
        angle - angle of rotation specified in radians
        See Also:
        PShape.rotate(float), PShape.rotateY(float), PShape.rotateZ(float), PShape.scale(float), PShape.translate(float, float), PShape.resetMatrix()
      • rotateY

        public void rotateY(float angle)
        Description copied from class: PShape
        ( begin auto-generated from PShape_rotateY.xml ) 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. ( end auto-generated )
        Overrides:
        rotateY in class PShape
        Parameters:
        angle - angle of rotation specified in radians
        See Also:
        PShape.rotate(float), PShape.rotateX(float), PShape.rotateZ(float), PShape.scale(float), PShape.translate(float, float), PShape.resetMatrix()
      • rotateZ

        public void rotateZ(float angle)
        Description copied from class: PShape
        ( begin auto-generated from PShape_rotateZ.xml ) 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. ( end auto-generated )
        Overrides:
        rotateZ in class PShape
        Parameters:
        angle - angle of rotation specified in radians
        See Also:
        PShape.rotate(float), PShape.rotateX(float), PShape.rotateY(float), PShape.scale(float), PShape.translate(float, float), PShape.resetMatrix()
      • rotate

        public void rotate(float angle,
         float v0,
         float v1,
         float v2)
        Overrides:
        rotate in class PShape
      • scale

        public void scale(float s)
        Description copied from class: PShape
        ( begin auto-generated from PShape_scale.xml ) 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. ( end auto-generated )
        Overrides:
        scale in class PShape
        Parameters:
        s - percentate to scale the object
        See Also:
        PShape.rotate(float), PShape.translate(float, float), PShape.resetMatrix()
      • scale

        public void scale(float x,
         float y)
        Overrides:
        scale in class PShape
      • scale

        public void scale(float x,
         float y,
         float z)
        Overrides:
        scale in class PShape
        Parameters:
        x - percentage to scale the object in the x-axis
        y - percentage to scale the object in the y-axis
        z - percentage to scale the object in the z-axis
      • applyMatrix

        public void applyMatrix(float n00,
         float n01,
         float n02,
         float n10,
         float n11,
         float n12)
        Overrides:
        applyMatrix in class PShape
      • 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 class PShape
      • bezierDetail

        public void bezierDetail(int detail)
        Overrides:
        bezierDetail in class PShape
      • bezierVertex

        public void bezierVertex(float x2,
         float y2,
         float x3,
         float y3,
         float x4,
         float y4)
        Overrides:
        bezierVertex in class PShape
      • 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 class PShape
      • quadraticVertex

        public void quadraticVertex(float cx,
         float cy,
         float x3,
         float y3)
        Overrides:
        quadraticVertex in class PShape
      • quadraticVertex

        public void quadraticVertex(float cx,
         float cy,
         float cz,
         float x3,
         float y3,
         float z3)
        Overrides:
        quadraticVertex in class PShape
      • curveDetail

        public void curveDetail(int detail)
        Overrides:
        curveDetail in class PShape
      • curveTightness

        public void curveTightness(float tightness)
        Overrides:
        curveTightness in class PShape
      • curveVertex

        public void curveVertex(float x,
         float y)
        Overrides:
        curveVertex in class PShape
      • curveVertex

        public void curveVertex(float x,
         float y,
         float z)
        Overrides:
        curveVertex in class PShape
      • getVertexX

        public float getVertexX(int index)
        Overrides:
        getVertexX in class PShape
      • getVertexY

        public float getVertexY(int index)
        Overrides:
        getVertexY in class PShape
      • getVertexZ

        public float getVertexZ(int index)
        Overrides:
        getVertexZ in class PShape
      • setVertex

        public void setVertex(int index,
         float x,
         float y,
         float z)
        Overrides:
        setVertex in class PShape
        z - the z value for the vertex
      • setVertex

        public void setVertex(int index,
         PVector vec)
        Overrides:
        setVertex in class PShape
        vec - the PVector to define the x, y, z coordinates
      • getNormalX

        public float getNormalX(int index)
        Overrides:
        getNormalX in class PShape
      • getNormalY

        public float getNormalY(int index)
        Overrides:
        getNormalY in class PShape
      • getNormalZ

        public float getNormalZ(int index)
        Overrides:
        getNormalZ in class PShape
      • setNormal

        public void setNormal(int index,
         float nx,
         float ny,
         float nz)
        Overrides:
        setNormal in class PShape
      • setAttrib

        public void setAttrib(java.lang.String name,
         int index,
         float... values)
        Overrides:
        setAttrib in class PShape
      • setAttrib

        public void setAttrib(java.lang.String name,
         int index,
         int... values)
        Overrides:
        setAttrib in class PShape
      • setAttrib

        public void setAttrib(java.lang.String name,
         int index,
         boolean... values)
        Overrides:
        setAttrib in class PShape
      • getTextureU

        public float getTextureU(int index)
        Overrides:
        getTextureU in class PShape
      • getTextureV

        public float getTextureV(int index)
        Overrides:
        getTextureV in class PShape
      • setTextureUV

        public void setTextureUV(int index,
         float u,
         float v)
        Overrides:
        setTextureUV in class PShape
      • getFill

        public int getFill(int index)
        Overrides:
        getFill in class PShape
      • setFill

        public void setFill(boolean fill)
        Overrides:
        setFill in class PShape
      • setFill

        public void setFill(int fill)
        Description copied from class: PShape
        ( begin auto-generated from PShape_setFill.xml ) 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. ( end auto-generated )
        Overrides:
        setFill in class PShape
      • setFill

        public void setFill(int index,
         int fill)
        Overrides:
        setFill in class PShape
      • getTint

        public int getTint(int index)
        Overrides:
        getTint in class PShape
      • setTint

        public void setTint(boolean tint)
        Overrides:
        setTint in class PShape
      • setTint

        public void setTint(int tint)
        Overrides:
        setTint in class PShape
      • setTint

        public void setTint(int index,
         int tint)
        Overrides:
        setTint in class PShape
      • getStroke

        public int getStroke(int index)
        Overrides:
        getStroke in class PShape
      • setStroke

        public void setStroke(boolean stroke)
        Overrides:
        setStroke in class PShape
      • setStroke

        public void setStroke(int stroke)
        Description copied from class: PShape
        ( begin auto-generated from PShape_setStroke.xml ) 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. ( end auto-generated )
        Overrides:
        setStroke in class PShape
      • setStroke

        public void setStroke(int index,
         int stroke)
        Overrides:
        setStroke in class PShape
      • setStrokeWeight

        public void setStrokeWeight(int index,
         float weight)
        Overrides:
        setStrokeWeight in class PShape
      • getAmbient

        public int getAmbient(int index)
        Overrides:
        getAmbient in class PShape
      • setAmbient

        public void setAmbient(int ambient)
        Overrides:
        setAmbient in class PShape
      • setAmbient

        public void setAmbient(int index,
         int ambient)
        Overrides:
        setAmbient in class PShape
      • getSpecular

        public int getSpecular(int index)
        Overrides:
        getSpecular in class PShape
      • setSpecular

        public void setSpecular(int specular)
        Overrides:
        setSpecular in class PShape
      • setSpecular

        public void setSpecular(int index,
         int specular)
        Overrides:
        setSpecular in class PShape
      • getEmissive

        public int getEmissive(int index)
        Overrides:
        getEmissive in class PShape
      • setEmissive

        public void setEmissive(int emissive)
        Overrides:
        setEmissive in class PShape
      • setEmissive

        public void setEmissive(int index,
         int emissive)
        Overrides:
        setEmissive in class PShape
      • getShininess

        public float getShininess(int index)
        Overrides:
        getShininess in class PShape
      • setShininess

        public void setShininess(float shininess)
        Overrides:
        setShininess in class PShape
      • setShininess

        public void setShininess(int index,
         float shine)
        Overrides:
        setShininess in class PShape
      • getVertexCode

        public int getVertexCode(int index)
        One of VERTEX, BEZIER_VERTEX, CURVE_VERTEX, or BREAK.
        Overrides:
        getVertexCode in class PShape
      • getTessellation

        public float[] getTessellation(int kind,
         int data)
      • contains

        public boolean contains(float x,
         float y)
        Description copied from class: PShape
        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.
        Overrides:
        contains in class PShape
      • disableStyle

        public void disableStyle()
        Description copied from class: PShape
        ( begin auto-generated from PShape_disableStyle.xml ) Disables the shape's style data and uses Processing's current styles. Styles include attributes such as colors, stroke weight, and stroke joints. ( end auto-generated )

        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 class PShape
        See Also:
        PShape.enableStyle()
      • enableStyle

        public void enableStyle()
        Description copied from class: PShape
        ( begin auto-generated from PShape_enableStyle.xml ) Enables the shape's style data and ignores Processing's current styles. Styles include attributes such as colors, stroke weight, and stroke joints. ( end auto-generated )
        Overrides:
        enableStyle in class PShape
        See Also:
        PShape.disableStyle()
      • draw

        public void draw(PGraphics g)
        Description copied from class: PShape
        Called by the following (the shape() command adds the g) PShape s = loadShape("blah.svg"); shape(s);
        Overrides:
        draw in class PShape
Skip navigation links

AltStyle によって変換されたページ (->オリジナル) /