Class MeshUtil

java.lang.Object
org.boxutil.util.MeshUtil

public final class MeshUtil extends Object
  • Method Summary

    Modifier and Type
    Method
    Description
    static com.fs.starfarer.api.util.Pair<ShortBuffer,IntBuffer[]>
    convertBoundsTriangleFanFP16(com.fs.starfarer.api.combat.BoundsAPI bounds)
    Recommend to use GL14.glMultiDrawArrays(int, IntBuffer, IntBuffer) or GL43.glMultiDrawArraysIndirect(int, long, int, int) with GL11.GL_TRIANGLE_FAN to draw it.
    static com.fs.starfarer.api.util.Pair<FloatBuffer,IntBuffer[]>
    convertBoundsTriangleFanFP32(com.fs.starfarer.api.combat.BoundsAPI bounds)
    Recommend to use GL14.glMultiDrawArrays(int, IntBuffer, IntBuffer) or GL43.glMultiDrawArraysIndirect(int, long, int, int) with GL11.GL_TRIANGLE_FAN to draw it.
    static org.lwjgl.util.vector.Vector3f
    surfaceNormal(org.lwjgl.util.vector.Vector3f v1, org.lwjgl.util.vector.Vector3f v2, org.lwjgl.util.vector.Vector3f v3)
     
    static org.lwjgl.util.vector.Vector3f[]
    tangentMaker(org.lwjgl.util.vector.Vector3f v1, org.lwjgl.util.vector.Vector3f v2, org.lwjgl.util.vector.Vector3f v3, org.lwjgl.util.vector.Vector2f u1, org.lwjgl.util.vector.Vector2f u2, org.lwjgl.util.vector.Vector2f u3)
    Return tangent and bi-tangent, array size is 2.
    static org.lwjgl.util.vector.Vector3f
    tangentOnlyMaker(org.lwjgl.util.vector.Vector3f v1, org.lwjgl.util.vector.Vector3f v2, org.lwjgl.util.vector.Vector3f v3, org.lwjgl.util.vector.Vector2f u1, org.lwjgl.util.vector.Vector2f u2, org.lwjgl.util.vector.Vector2f u3)
     

    Methods inherited from class java.lang.Object

    clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • tangentMaker

      public static org.lwjgl.util.vector.Vector3f[] tangentMaker(@NotNull org.lwjgl.util.vector.Vector3f v1, @NotNull org.lwjgl.util.vector.Vector3f v2, @NotNull org.lwjgl.util.vector.Vector3f v3, @NotNull org.lwjgl.util.vector.Vector2f u1, @NotNull org.lwjgl.util.vector.Vector2f u2, @NotNull org.lwjgl.util.vector.Vector2f u3)
      Return tangent and bi-tangent, array size is 2.
    • tangentOnlyMaker

      public static org.lwjgl.util.vector.Vector3f tangentOnlyMaker(@NotNull org.lwjgl.util.vector.Vector3f v1, @NotNull org.lwjgl.util.vector.Vector3f v2, @NotNull org.lwjgl.util.vector.Vector3f v3, @NotNull org.lwjgl.util.vector.Vector2f u1, @NotNull org.lwjgl.util.vector.Vector2f u2, @NotNull org.lwjgl.util.vector.Vector2f u3)
    • surfaceNormal

      public static org.lwjgl.util.vector.Vector3f surfaceNormal(@NotNull org.lwjgl.util.vector.Vector3f v1, @NotNull org.lwjgl.util.vector.Vector3f v2, @NotNull org.lwjgl.util.vector.Vector3f v3)
    • convertBoundsTriangleFanFP32

      public static com.fs.starfarer.api.util.Pair<FloatBuffer,IntBuffer[]> convertBoundsTriangleFanFP32(com.fs.starfarer.api.combat.BoundsAPI bounds)
      Recommend to use GL14.glMultiDrawArrays(int, IntBuffer, IntBuffer) or GL43.glMultiDrawArraysIndirect(int, long, int, int) with GL11.GL_TRIANGLE_FAN to draw it.

      Vertex layout: vec2(location.xy)

      NOTE: cannot process the self intersection bounds like wasp!

      Returns:
      pair.two = {piFirst, piCount};
    • convertBoundsTriangleFanFP16

      public static com.fs.starfarer.api.util.Pair<ShortBuffer,IntBuffer[]> convertBoundsTriangleFanFP16(com.fs.starfarer.api.combat.BoundsAPI bounds)
      Recommend to use GL14.glMultiDrawArrays(int, IntBuffer, IntBuffer) or GL43.glMultiDrawArraysIndirect(int, long, int, int) with GL11.GL_TRIANGLE_FAN to draw it.

      Vertex layout: vec2(location.xy)

      NOTE: cannot process the self intersection bounds like wasp!

      Returns:
      pair.two = {piFirst, piCount};