Class CurveObject

java.lang.Object
org.boxutil.units.standard.misc.CurveObject

public class CurveObject extends Object
Easy way for rendering cubic bezier with width and texture anywhere.

Emissive color of nodes is not supported.

Required GLWrapper.Buffer.VBO.valid().

  • Field Details

    • STRIDE

      public static final byte STRIDE
      See Also:
    • UV_OFFSET

      public static final byte UV_OFFSET
      See Also:
    • COLOR_OFFSET

      public static final byte COLOR_OFFSET
      See Also:
    • _curveID

      protected final int _curveID
    • interpolation

      protected final byte interpolation
    • interpolationPOne

      protected final short interpolationPOne
    • vertexCount

      protected final int vertexCount
    • bufferSize

      protected final int bufferSize
    • _sync_lock

      protected final SpinLock _sync_lock
    • uvScale

      protected float uvScale
    • isValid

      protected volatile boolean isValid
    • nodes

      protected NodeData[] nodes
    • buffer

      protected FloatBuffer buffer
    • sprite

      protected com.fs.starfarer.api.graphics.SpriteAPI sprite
    • glTex

      protected int glTex
  • Constructor Details

    • CurveObject

      public CurveObject(NodeData start, NodeData end, byte interpolation, int usage)
    • CurveObject

      public CurveObject(NodeData start, NodeData end, byte interpolation)
    • CurveObject

      public CurveObject(NodeData start, NodeData end)
  • Method Details

    • getCurveID

      public int getCurveID()
    • isValid

      public boolean isValid()
    • destroy

      public void destroy()
      !!! Must be call it if NOT REQUIRED !!!
    • renderAtStart

      public void renderAtStart(org.lwjgl.util.vector.Vector2f offset, float facing, boolean withTexture, boolean isAdditiveBlend)
      General rendering method.
    • glDraw

      public void glDraw()
    • submitNode

      public void submitNode(float elapsedTime)
      Must be called before rendering.
      Parameters:
      elapsedTime - CombatEngineAPI.getTotalElapsedTime(boolean) etc.
    • getStartNode

      public NodeData getStartNode()
    • setStartNode

      public void setStartNode(NodeData start)
    • getEndNode

      public NodeData getEndNode()
    • setEndNode

      public void setEndNode(NodeData end)
    • setNodes

      public void setNodes(NodeData start, NodeData end)
    • getNodes

      public NodeData[] getNodes()
    • getSprite

      public com.fs.starfarer.api.graphics.SpriteAPI getSprite()
    • getSpriteID

      public int getSpriteID()
    • setSprite

      public void setSprite(@NotNull com.fs.starfarer.api.graphics.SpriteAPI sprite)
    • setSprite

      public void setSprite(int sprite)
    • getUvScale

      public float getUvScale()
    • setUvScale

      public void setUvScale(float scale)